@mdxeditor/editor 0.10.1 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/FormatConstants.d.ts +9 -0
- package/dist/FormatConstants.js +10 -0
- package/dist/MDXEditor.d.ts +60 -0
- package/dist/MDXEditor.js +105 -0
- package/dist/directive-editors/AdmonitionDirectiveDescriptor.d.ts +17 -0
- package/dist/directive-editors/AdmonitionDirectiveDescriptor.js +29 -0
- package/dist/directive-editors/GenericDirectiveEditor.d.ts +8 -0
- package/dist/directive-editors/GenericDirectiveEditor.js +32 -0
- package/dist/exportMarkdownFromLexical.d.ts +114 -0
- package/dist/exportMarkdownFromLexical.js +199 -0
- package/dist/gurx/index.d.ts +3 -0
- package/dist/gurx/react.d.ts +121 -0
- package/dist/gurx/react.js +112 -0
- package/dist/gurx/realm.d.ts +133 -0
- package/dist/gurx/realm.js +491 -0
- package/dist/gurx/realmFactory.d.ts +58 -0
- package/dist/gurx/realmFactory.js +28 -0
- package/dist/icons/add_column.svg.js +8 -0
- package/dist/icons/add_photo.svg.js +8 -0
- package/dist/icons/add_row.svg.js +8 -0
- package/dist/icons/arrow_drop_down.svg.js +8 -0
- package/dist/icons/arrow_right.svg.js +8 -0
- package/dist/icons/check.svg.js +8 -0
- package/dist/icons/close.svg.js +8 -0
- package/dist/icons/code.svg.js +8 -0
- package/dist/icons/content_copy.svg.js +8 -0
- package/dist/icons/delete.svg.js +8 -0
- package/dist/icons/delete_small.svg.js +8 -0
- package/dist/icons/deployed_code.svg.js +8 -0
- package/dist/icons/difference.svg.js +8 -0
- package/dist/icons/edit.svg.js +8 -0
- package/dist/icons/emergency_home.svg.js +8 -0
- package/dist/icons/format_align_center.svg.js +8 -0
- package/dist/icons/format_align_left.svg.js +8 -0
- package/dist/icons/format_align_right.svg.js +8 -0
- package/dist/icons/format_bold.svg.js +8 -0
- package/dist/icons/format_italic.svg.js +8 -0
- package/dist/icons/format_list_bulleted.svg.js +8 -0
- package/dist/icons/format_list_numbered.svg.js +8 -0
- package/dist/icons/format_underlined.svg.js +8 -0
- package/dist/icons/frame_source.svg.js +8 -0
- package/dist/icons/frontmatter.svg.js +8 -0
- package/dist/icons/horizontal_rule.svg.js +8 -0
- package/dist/icons/insert_col_left.svg.js +8 -0
- package/dist/icons/insert_col_right.svg.js +8 -0
- package/dist/icons/insert_row_above.svg.js +8 -0
- package/dist/icons/insert_row_below.svg.js +8 -0
- package/dist/icons/link.svg.js +8 -0
- package/dist/icons/link_off.svg.js +8 -0
- package/dist/icons/markdown.svg.js +8 -0
- package/dist/icons/more_horiz.svg.js +8 -0
- package/dist/icons/open_in_new.svg.js +8 -0
- package/dist/icons/redo.svg.js +8 -0
- package/dist/icons/rich_text.svg.js +8 -0
- package/dist/icons/settings.svg.js +8 -0
- package/dist/icons/table.svg.js +8 -0
- package/dist/icons/undo.svg.js +8 -0
- package/dist/importMarkdownToLexical.d.ts +84 -0
- package/dist/importMarkdownToLexical.js +65 -0
- package/dist/index.d.ts +49 -1105
- package/dist/index.js +140 -72
- package/dist/jsx-editors/GenericJsxEditor.d.ts +8 -0
- package/dist/jsx-editors/GenericJsxEditor.js +56 -0
- package/dist/node_modules/react-diff-view/style/index.css.js +4 -0
- package/dist/plugins/codeblock/CodeBlockNode.d.ts +99 -0
- package/dist/plugins/codeblock/CodeBlockNode.js +155 -0
- package/dist/plugins/codeblock/CodeBlockVisitor.d.ts +4 -0
- package/dist/plugins/codeblock/CodeBlockVisitor.js +14 -0
- package/dist/plugins/codeblock/MdastCodeVisitor.d.ts +3 -0
- package/dist/plugins/codeblock/MdastCodeVisitor.js +16 -0
- package/dist/plugins/codeblock/index.d.ts +617 -0
- package/dist/plugins/codeblock/index.js +73 -0
- package/dist/plugins/codemirror/CodeMirrorEditor.d.ts +3 -0
- package/dist/plugins/codemirror/CodeMirrorEditor.js +33 -0
- package/dist/plugins/codemirror/index.d.ts +800 -0
- package/dist/plugins/codemirror/index.js +62 -0
- package/dist/plugins/core/LexicalLinebreakVisitor.d.ts +4 -0
- package/dist/plugins/core/LexicalLinebreakVisitor.js +10 -0
- package/dist/plugins/core/LexicalParagraphVisitor.d.ts +4 -0
- package/dist/plugins/core/LexicalParagraphVisitor.js +10 -0
- package/dist/plugins/core/LexicalRootVisitor.d.ts +4 -0
- package/dist/plugins/core/LexicalRootVisitor.js +10 -0
- package/dist/plugins/core/LexicalTextVisitor.d.ts +5 -0
- package/dist/plugins/core/LexicalTextVisitor.js +85 -0
- package/dist/plugins/core/MdastFormattingVisitor.d.ts +4 -0
- package/dist/plugins/core/MdastFormattingVisitor.js +36 -0
- package/dist/plugins/core/MdastInlineCodeVisitor.d.ts +3 -0
- package/dist/plugins/core/MdastInlineCodeVisitor.js +11 -0
- package/dist/plugins/core/MdastParagraphVisitor.d.ts +3 -0
- package/dist/plugins/core/MdastParagraphVisitor.js +15 -0
- package/dist/plugins/core/MdastRootVisitor.d.ts +3 -0
- package/dist/plugins/core/MdastRootVisitor.js +9 -0
- package/dist/plugins/core/MdastTextVisitor.d.ts +3 -0
- package/dist/plugins/core/MdastTextVisitor.js +10 -0
- package/dist/plugins/core/NestedLexicalEditor.d.ts +96 -0
- package/dist/plugins/core/NestedLexicalEditor.js +181 -0
- package/dist/plugins/core/PropertyPopover.d.ts +23 -0
- package/dist/plugins/core/PropertyPopover.js +36 -0
- package/dist/plugins/core/SharedHistoryPlugin.d.ts +2 -0
- package/dist/plugins/core/SharedHistoryPlugin.js +10 -0
- package/dist/plugins/core/index.d.ts +423 -0
- package/dist/plugins/core/index.js +346 -0
- package/dist/plugins/core/ui/PopoverUtils.d.ts +4 -0
- package/dist/plugins/core/ui/PopoverUtils.js +17 -0
- package/dist/plugins/diff-source/DiffSourceWrapper.d.ts +4 -0
- package/dist/plugins/diff-source/DiffSourceWrapper.js +11 -0
- package/dist/plugins/diff-source/DiffViewer.d.ts +2 -0
- package/dist/plugins/diff-source/DiffViewer.js +18 -0
- package/dist/plugins/diff-source/SourceEditor.d.ts +2 -0
- package/dist/plugins/diff-source/SourceEditor.js +27 -0
- package/dist/plugins/diff-source/index.d.ts +544 -0
- package/dist/plugins/diff-source/index.js +55 -0
- package/dist/plugins/directives/DirectiveNode.d.ts +51 -0
- package/dist/plugins/directives/DirectiveNode.js +92 -0
- package/dist/plugins/directives/DirectiveVisitor.d.ts +4 -0
- package/dist/plugins/directives/DirectiveVisitor.js +10 -0
- package/dist/plugins/directives/MdastDirectiveVisitor.d.ts +3 -0
- package/dist/plugins/directives/MdastDirectiveVisitor.js +13 -0
- package/dist/plugins/directives/index.d.ts +603 -0
- package/dist/plugins/directives/index.js +53 -0
- package/dist/plugins/frontmatter/FrontmatterEditor.d.ts +6 -0
- package/dist/plugins/frontmatter/FrontmatterEditor.js +69 -0
- package/dist/plugins/frontmatter/FrontmatterNode.d.ts +35 -0
- package/dist/plugins/frontmatter/FrontmatterNode.js +71 -0
- package/dist/plugins/frontmatter/LexicalFrontmatterVisitor.d.ts +4 -0
- package/dist/plugins/frontmatter/LexicalFrontmatterVisitor.js +10 -0
- package/dist/plugins/frontmatter/MdastFrontmatterVisitor.d.ts +3 -0
- package/dist/plugins/frontmatter/MdastFrontmatterVisitor.js +10 -0
- package/dist/plugins/frontmatter/index.d.ts +523 -0
- package/dist/plugins/frontmatter/index.js +53 -0
- package/dist/plugins/headings/LexicalHeadingVisitor.d.ts +4 -0
- package/dist/plugins/headings/LexicalHeadingVisitor.js +11 -0
- package/dist/plugins/headings/MdastHeadingVisitor.d.ts +3 -0
- package/dist/plugins/headings/MdastHeadingVisitor.js +10 -0
- package/dist/plugins/headings/index.d.ts +118 -0
- package/dist/plugins/headings/index.js +20 -0
- package/dist/plugins/image/ImageEditor.d.ts +9 -0
- package/dist/{ImageEditor-8db2f131.js → plugins/image/ImageEditor.js} +40 -52
- package/dist/plugins/image/ImageNode.d.ts +63 -0
- package/dist/plugins/image/ImageNode.js +136 -0
- package/dist/plugins/image/ImageResizer.d.ts +18 -0
- package/dist/plugins/image/ImageResizer.js +214 -0
- package/dist/plugins/image/LexicalImageVisitor.d.ts +4 -0
- package/dist/plugins/image/LexicalImageVisitor.js +36 -0
- package/dist/plugins/image/MdastImageVisitor.d.ts +6 -0
- package/dist/plugins/image/MdastImageVisitor.js +87 -0
- package/dist/plugins/image/index.d.ts +557 -0
- package/dist/plugins/image/index.js +246 -0
- package/dist/plugins/jsx/LexicalJsxNode.d.ts +54 -0
- package/dist/plugins/jsx/LexicalJsxNode.js +102 -0
- package/dist/plugins/jsx/LexicalJsxVisitor.d.ts +4 -0
- package/dist/plugins/jsx/LexicalJsxVisitor.js +12 -0
- package/dist/plugins/jsx/MdastMdxJsEsmVisitor.d.ts +3 -0
- package/dist/plugins/jsx/MdastMdxJsEsmVisitor.js +8 -0
- package/dist/plugins/jsx/MdastMdxJsxElementVisitor.d.ts +3 -0
- package/dist/plugins/jsx/MdastMdxJsxElementVisitor.js +12 -0
- package/dist/plugins/jsx/index.d.ts +599 -0
- package/dist/plugins/jsx/index.js +59 -0
- package/dist/plugins/link/LexicalLinkVisitor.d.ts +4 -0
- package/dist/plugins/link/LexicalLinkVisitor.js +10 -0
- package/dist/plugins/link/MdastLinkVisitor.d.ts +3 -0
- package/dist/plugins/link/MdastLinkVisitor.js +14 -0
- package/dist/plugins/link/index.d.ts +68 -0
- package/dist/plugins/link/index.js +22 -0
- package/dist/plugins/link-dialog/LinkDialog.d.ts +12 -0
- package/dist/plugins/link-dialog/LinkDialog.js +174 -0
- package/dist/plugins/link-dialog/index.d.ts +508 -0
- package/dist/plugins/link-dialog/index.js +242 -0
- package/dist/plugins/lists/LexicalListItemVisitor.d.ts +4 -0
- package/dist/plugins/lists/LexicalListItemVisitor.js +22 -0
- package/dist/plugins/lists/LexicalListVisitor.d.ts +4 -0
- package/dist/plugins/lists/LexicalListVisitor.js +13 -0
- package/dist/plugins/lists/MdastListItemVisitor.d.ts +3 -0
- package/dist/plugins/lists/MdastListItemVisitor.js +10 -0
- package/dist/plugins/lists/MdastListVisitor.d.ts +3 -0
- package/dist/plugins/lists/MdastListVisitor.js +18 -0
- package/dist/plugins/lists/index.d.ts +533 -0
- package/dist/plugins/lists/index.js +111 -0
- package/dist/plugins/markdown-shortcut/index.d.ts +63 -0
- package/dist/plugins/markdown-shortcut/index.js +34 -0
- package/dist/plugins/quote/LexicalQuoteVisitor.d.ts +4 -0
- package/dist/plugins/quote/LexicalQuoteVisitor.js +12 -0
- package/dist/plugins/quote/MdastBlockQuoteVisitor.d.ts +3 -0
- package/dist/plugins/quote/MdastBlockQuoteVisitor.js +10 -0
- package/dist/plugins/quote/index.d.ts +361 -0
- package/dist/plugins/quote/index.js +26 -0
- package/dist/plugins/sandpack/SandpackEditor.d.ts +7 -0
- package/dist/plugins/sandpack/SandpackEditor.js +35 -0
- package/dist/plugins/sandpack/index.d.ts +839 -0
- package/dist/plugins/sandpack/index.js +93 -0
- package/dist/plugins/sandpack/useCodeMirrorRef.d.ts +4 -0
- package/dist/{useCodeMirrorRef-5356dfa5.js → plugins/sandpack/useCodeMirrorRef.js} +22 -10
- package/dist/plugins/table/LexicalTableVisitor.d.ts +4 -0
- package/dist/plugins/table/LexicalTableVisitor.js +10 -0
- package/dist/plugins/table/MdastTableVisitor.d.ts +3 -0
- package/dist/plugins/table/MdastTableVisitor.js +10 -0
- package/dist/plugins/table/TableEditor.d.ts +21 -0
- package/dist/plugins/table/TableEditor.js +384 -0
- package/dist/plugins/table/TableNode.d.ts +52 -0
- package/dist/plugins/table/TableNode.js +147 -0
- package/dist/plugins/table/index.d.ts +523 -0
- package/dist/plugins/table/index.js +59 -0
- package/dist/plugins/thematic-break/LexicalThematicBreakVisitor.d.ts +4 -0
- package/dist/plugins/thematic-break/LexicalThematicBreakVisitor.js +10 -0
- package/dist/plugins/thematic-break/MdastThematicBreakVisitor.d.ts +3 -0
- package/dist/plugins/thematic-break/MdastThematicBreakVisitor.js +10 -0
- package/dist/plugins/thematic-break/index.d.ts +523 -0
- package/dist/plugins/thematic-break/index.js +39 -0
- package/dist/plugins/toolbar/components/BlockTypeSelect.d.ts +6 -0
- package/dist/plugins/toolbar/components/BlockTypeSelect.js +52 -0
- package/dist/plugins/toolbar/components/BoldItalicUnderlineToggles.d.ts +5 -0
- package/dist/plugins/toolbar/components/BoldItalicUnderlineToggles.js +35 -0
- package/dist/plugins/toolbar/components/ChangeAdmonitionType.d.ts +6 -0
- package/dist/plugins/toolbar/components/ChangeAdmonitionType.js +30 -0
- package/dist/plugins/toolbar/components/ChangeCodeMirrorLanguage.d.ts +7 -0
- package/dist/plugins/toolbar/components/ChangeCodeMirrorLanguage.js +32 -0
- package/dist/plugins/toolbar/components/CodeToggle.d.ts +6 -0
- package/dist/plugins/toolbar/components/CodeToggle.js +20 -0
- package/dist/plugins/toolbar/components/CreateLink.d.ts +6 -0
- package/dist/plugins/toolbar/components/CreateLink.js +11 -0
- package/dist/plugins/toolbar/components/DiffSourceToggleWrapper.d.ts +18 -0
- package/dist/plugins/toolbar/components/DiffSourceToggleWrapper.js +27 -0
- package/dist/plugins/toolbar/components/InsertAdmonition.d.ts +6 -0
- package/dist/plugins/toolbar/components/InsertAdmonition.js +29 -0
- package/dist/plugins/toolbar/components/InsertCodeBlock.d.ts +7 -0
- package/dist/plugins/toolbar/components/InsertCodeBlock.js +20 -0
- package/dist/plugins/toolbar/components/InsertFrontmatter.d.ts +6 -0
- package/dist/plugins/toolbar/components/InsertFrontmatter.js +11 -0
- package/dist/plugins/toolbar/components/InsertImage.d.ts +6 -0
- package/dist/plugins/toolbar/components/InsertImage.js +23 -0
- package/dist/plugins/toolbar/components/InsertSandpack.d.ts +6 -0
- package/dist/plugins/toolbar/components/InsertSandpack.js +13 -0
- package/dist/plugins/toolbar/components/InsertTable.d.ts +6 -0
- package/dist/plugins/toolbar/components/InsertTable.js +20 -0
- package/dist/plugins/toolbar/components/InsertThematicBreak.d.ts +6 -0
- package/dist/plugins/toolbar/components/InsertThematicBreak.js +11 -0
- package/dist/plugins/toolbar/components/KitchenSinkToolbar.d.ts +7 -0
- package/dist/plugins/toolbar/components/KitchenSinkToolbar.js +58 -0
- package/dist/plugins/toolbar/components/ListsToggle.d.ts +7 -0
- package/dist/plugins/toolbar/components/ListsToggle.js +23 -0
- package/dist/plugins/toolbar/components/ShowSandpackInfo.d.ts +7 -0
- package/dist/plugins/toolbar/components/ShowSandpackInfo.js +32 -0
- package/dist/plugins/toolbar/components/UndoRedo.d.ts +5 -0
- package/dist/plugins/toolbar/components/UndoRedo.js +59 -0
- package/dist/plugins/toolbar/index.d.ts +428 -0
- package/dist/plugins/toolbar/index.js +39 -0
- package/dist/plugins/toolbar/primitives/DialogButton.d.ts +40 -0
- package/dist/plugins/toolbar/primitives/DialogButton.js +115 -0
- package/dist/plugins/toolbar/primitives/TooltipWrap.d.ts +8 -0
- package/dist/plugins/toolbar/primitives/TooltipWrap.js +12 -0
- package/dist/plugins/toolbar/primitives/select.d.ts +50 -0
- package/dist/plugins/toolbar/primitives/select.js +44 -0
- package/dist/plugins/toolbar/primitives/toolbar.d.ts +160 -0
- package/dist/plugins/toolbar/primitives/toolbar.js +111 -0
- package/dist/style.css +556 -249
- package/dist/styles/globals.css.js +4 -0
- package/dist/styles/lexical-theme.module.css.js +53 -0
- package/dist/styles/lexicalTheme.d.ts +2 -0
- package/dist/styles/lexicalTheme.js +28 -0
- package/dist/styles/ui.module.css.js +254 -0
- package/dist/utils/detectMac.d.ts +2 -0
- package/dist/utils/detectMac.js +6 -0
- package/dist/utils/fp.d.ts +47 -0
- package/dist/utils/fp.js +10 -0
- package/dist/utils/isPartOftheEditorUI.d.ts +1 -0
- package/dist/utils/isPartOftheEditorUI.js +12 -0
- package/dist/utils/lexicalHelpers.d.ts +11 -0
- package/dist/utils/lexicalHelpers.js +49 -0
- package/dist/utils/uuid4.d.ts +1 -0
- package/dist/utils/uuid4.js +10 -0
- package/dist/utils/voidEmitter.d.ts +14 -0
- package/dist/utils/voidEmitter.js +15 -0
- package/package.json +246 -14
- package/dist/CodeBlockEditor-02116cba.js +0 -79
- package/dist/CodeBlockEditor-1c7b46dc.cjs +0 -1
- package/dist/FrontmatterEditor-37a4c091.cjs +0 -1
- package/dist/FrontmatterEditor-988a8fb6.js +0 -118
- package/dist/ImageEditor-524159e9.cjs +0 -1
- package/dist/JsxEditor-606e9d86.js +0 -108
- package/dist/JsxEditor-98a94a9d.cjs +0 -1
- package/dist/LeafDirectiveEditor-38a73f5c.js +0 -59
- package/dist/LeafDirectiveEditor-dfa1ce78.cjs +0 -1
- package/dist/SandpackEditor-90425f26.cjs +0 -1
- package/dist/SandpackEditor-c771b4d0.js +0 -100
- package/dist/SourceEditor-19eb2c9e.js +0 -64
- package/dist/SourceEditor-46ed1f77.cjs +0 -1
- package/dist/TableEditor-4a993dab.cjs +0 -1
- package/dist/TableEditor-c28b3ca2.js +0 -426
- package/dist/index-1ab1a12e.js +0 -4363
- package/dist/index-8217810f.cjs +0 -1
- package/dist/index.cjs +0 -1
- package/dist/useCodeMirrorRef-7055e7de.cjs +0 -1
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import React__default from "react";
|
|
3
|
-
import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
|
|
4
|
-
import { ContentEditable } from "@lexical/react/LexicalContentEditable";
|
|
5
|
-
import LexicalErrorBoundary from "@lexical/react/LexicalErrorBoundary";
|
|
6
|
-
import { LexicalNestedComposer } from "@lexical/react/LexicalNestedComposer";
|
|
7
|
-
import { RichTextPlugin } from "@lexical/react/LexicalRichTextPlugin";
|
|
8
|
-
import * as RadixPopover from "@radix-ui/react-popover";
|
|
9
|
-
import { useForm } from "react-hook-form";
|
|
10
|
-
import { u as useEmitterValues } from "./index-1ab1a12e.js";
|
|
11
|
-
import "@lexical/react/LexicalComposer";
|
|
12
|
-
import "@lexical/react/LexicalHorizontalRulePlugin";
|
|
13
|
-
import "@lexical/react/LexicalLinkPlugin";
|
|
14
|
-
import "@lexical/react/LexicalListPlugin";
|
|
15
|
-
import "@lexical/react/LexicalTabIndentationPlugin";
|
|
16
|
-
import "classnames";
|
|
17
|
-
import "lexical";
|
|
18
|
-
import "@lexical/code";
|
|
19
|
-
import "@lexical/link";
|
|
20
|
-
import "@lexical/list";
|
|
21
|
-
import "@lexical/react/LexicalHorizontalRuleNode";
|
|
22
|
-
import "@lexical/rich-text";
|
|
23
|
-
import "mdast-util-directive";
|
|
24
|
-
import "mdast-util-from-markdown";
|
|
25
|
-
import "mdast-util-frontmatter";
|
|
26
|
-
import "mdast-util-gfm-table";
|
|
27
|
-
import "mdast-util-mdx";
|
|
28
|
-
import "micromark-extension-directive";
|
|
29
|
-
import "micromark-extension-frontmatter";
|
|
30
|
-
import "micromark-extension-gfm-table";
|
|
31
|
-
import "micromark-extension-mdxjs";
|
|
32
|
-
import "@lexical/utils";
|
|
33
|
-
import "@lexical/selection";
|
|
34
|
-
import "@lexical/react/LexicalHistoryPlugin";
|
|
35
|
-
import "mdast-util-to-markdown";
|
|
36
|
-
import "@radix-ui/react-tooltip";
|
|
37
|
-
import "downshift";
|
|
38
|
-
import "@lexical/markdown";
|
|
39
|
-
import "@lexical/react/LexicalMarkdownShortcutPlugin";
|
|
40
|
-
import "react-diff-view";
|
|
41
|
-
import "unidiff";
|
|
42
|
-
import "@radix-ui/react-toolbar";
|
|
43
|
-
import "@radix-ui/react-select";
|
|
44
|
-
import "@radix-ui/react-dialog";
|
|
45
|
-
const SvgSettings = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, fill: "currentColor", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("mask", { id: "a", width: 24, height: 24, x: 0, y: 0, maskUnits: "userSpaceOnUse", style: {
|
|
46
|
-
maskType: "alpha"
|
|
47
|
-
} }, /* @__PURE__ */ React.createElement("path", { d: "M0 0h24v24H0z" })), /* @__PURE__ */ React.createElement("g", { mask: "url(#a)" }, /* @__PURE__ */ React.createElement("path", { d: "m9.25 22-.4-3.2a3.79 3.79 0 0 1-.613-.3 8.266 8.266 0 0 1-.562-.375L4.7 19.375l-2.75-4.75 2.575-1.95a2.387 2.387 0 0 1-.025-.338v-.675c0-.108.008-.22.025-.337L1.95 9.375l2.75-4.75 2.975 1.25c.183-.133.375-.258.575-.375.2-.117.4-.217.6-.3l.4-3.2h5.5l.4 3.2c.217.083.42.183.612.3.192.117.38.242.563.375l2.975-1.25 2.75 4.75-2.575 1.95c.017.117.025.23.025.338v.675c0 .108-.017.22-.05.337l2.575 1.95-2.75 4.75-2.95-1.25a6.842 6.842 0 0 1-.575.375c-.2.117-.4.217-.6.3l-.4 3.2h-5.5Zm2.8-6.5c.967 0 1.792-.342 2.475-1.025A3.372 3.372 0 0 0 15.55 12c0-.967-.342-1.792-1.025-2.475A3.373 3.373 0 0 0 12.05 8.5c-.983 0-1.813.342-2.488 1.025A3.393 3.393 0 0 0 8.55 12c0 .967.337 1.792 1.012 2.475.676.683 1.505 1.025 2.488 1.025Zm0-2c-.417 0-.77-.146-1.063-.438A1.446 1.446 0 0 1 10.55 12c0-.417.146-.77.438-1.063a1.446 1.446 0 0 1 1.062-.437c.417 0 .77.146 1.063.438.291.291.437.645.437 1.062 0 .417-.146.77-.438 1.063a1.447 1.447 0 0 1-1.062.437ZM11 20h1.975l.35-2.65a5.61 5.61 0 0 0 1.438-.588c.441-.258.845-.57 1.212-.937l2.475 1.025.975-1.7-2.15-1.625c.083-.233.142-.48.175-.738a6.153 6.153 0 0 0 0-1.575 3.535 3.535 0 0 0-.175-.737l2.15-1.625-.975-1.7-2.475 1.05a5.556 5.556 0 0 0-1.213-.962 5.607 5.607 0 0 0-1.437-.588L13 4h-1.975l-.35 2.65c-.517.133-.996.33-1.438.587a6.015 6.015 0 0 0-1.212.938L5.55 7.15l-.975 1.7 2.15 1.6c-.083.25-.142.5-.175.75a6.122 6.122 0 0 0 0 1.575c.033.25.092.5.175.75l-2.15 1.625.975 1.7 2.475-1.05c.367.383.77.704 1.212.962.442.259.921.455 1.438.588L11 20Z" })));
|
|
48
|
-
const SettingsIcon = SvgSettings;
|
|
49
|
-
const PopoverContent = React__default.forwardRef(
|
|
50
|
-
(props, ref) => {
|
|
51
|
-
return /* @__PURE__ */ React__default.createElement(RadixPopover.Content, { ...props, className: "", ref });
|
|
52
|
-
}
|
|
53
|
-
);
|
|
54
|
-
const PopoverTrigger = React__default.forwardRef(
|
|
55
|
-
(props, ref) => {
|
|
56
|
-
return /* @__PURE__ */ React__default.createElement(RadixPopover.Trigger, { ...props, className: "", ref });
|
|
57
|
-
}
|
|
58
|
-
);
|
|
59
|
-
function JsxEditor({ kind, attributes, componentName, editor, onSubmit, theme }) {
|
|
60
|
-
if (kind === "flow") {
|
|
61
|
-
return /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement("div", null, componentName), /* @__PURE__ */ React__default.createElement(LexicalNestedComposer, { initialEditor: editor, initialTheme: theme }, /* @__PURE__ */ React__default.createElement(RichTextPlugin, { contentEditable: /* @__PURE__ */ React__default.createElement(ContentEditable, null), placeholder: /* @__PURE__ */ React__default.createElement("div", null, "Type here.."), ErrorBoundary: LexicalErrorBoundary })));
|
|
62
|
-
}
|
|
63
|
-
return /* @__PURE__ */ React__default.createElement("span", null, /* @__PURE__ */ React__default.createElement("span", null, /* @__PURE__ */ React__default.createElement(InlineJsxComponent, { attributes, componentName, onSubmit })), /* @__PURE__ */ React__default.createElement("span", null, componentName, /* @__PURE__ */ React__default.createElement(LexicalNestedComposer, { initialEditor: editor, initialTheme: theme }, /* @__PURE__ */ React__default.createElement(
|
|
64
|
-
RichTextPlugin,
|
|
65
|
-
{
|
|
66
|
-
contentEditable: /* @__PURE__ */ React__default.createElement(ContentEditable, { style: { padding: 5, border: "1px solid red" } }),
|
|
67
|
-
placeholder: /* @__PURE__ */ React__default.createElement("div", null, "Type here.."),
|
|
68
|
-
ErrorBoundary: LexicalErrorBoundary
|
|
69
|
-
}
|
|
70
|
-
))));
|
|
71
|
-
}
|
|
72
|
-
const InlineJsxComponent = ({ attributes, componentName, onSubmit }) => {
|
|
73
|
-
const [open, setOpen] = React__default.useState(false);
|
|
74
|
-
const decoratedOnSubmit = React__default.useCallback(
|
|
75
|
-
(values) => {
|
|
76
|
-
onSubmit(values);
|
|
77
|
-
setOpen(false);
|
|
78
|
-
},
|
|
79
|
-
[onSubmit]
|
|
80
|
-
);
|
|
81
|
-
return /* @__PURE__ */ React__default.createElement(RadixPopover.Root, { open, onOpenChange: (v) => setOpen(v) }, /* @__PURE__ */ React__default.createElement(PopoverTrigger, null, /* @__PURE__ */ React__default.createElement(SettingsIcon, null)), /* @__PURE__ */ React__default.createElement(RadixPopover.Portal, null, /* @__PURE__ */ React__default.createElement(PopoverContent, null, /* @__PURE__ */ React__default.createElement(JsxPropertyPanel, { attributes, componentName, onSubmit: decoratedOnSubmit }))));
|
|
82
|
-
};
|
|
83
|
-
const JsxPropertyPanel = ({ attributes, componentName, onSubmit }) => {
|
|
84
|
-
const [jsxComponentDescriptors] = useEmitterValues("jsxComponentDescriptors");
|
|
85
|
-
const descriptor = jsxComponentDescriptors.find((descriptor2) => descriptor2.name === componentName);
|
|
86
|
-
const [editor] = useLexicalComposerContext();
|
|
87
|
-
const { register, handleSubmit } = useForm({
|
|
88
|
-
defaultValues: attributes.reduce((acc, attribute) => {
|
|
89
|
-
acc[attribute.name] = attribute.value;
|
|
90
|
-
return acc;
|
|
91
|
-
}, {})
|
|
92
|
-
});
|
|
93
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
94
|
-
"form",
|
|
95
|
-
{
|
|
96
|
-
onSubmit: handleSubmit((data) => {
|
|
97
|
-
editor.update(() => {
|
|
98
|
-
onSubmit(data);
|
|
99
|
-
});
|
|
100
|
-
})
|
|
101
|
-
},
|
|
102
|
-
/* @__PURE__ */ React__default.createElement("table", null, /* @__PURE__ */ React__default.createElement("thead", null, /* @__PURE__ */ React__default.createElement("tr", null, /* @__PURE__ */ React__default.createElement("th", null, "Attribute"), /* @__PURE__ */ React__default.createElement("th", null, "Value"))), /* @__PURE__ */ React__default.createElement("tbody", null, descriptor.props.map((propDescriptor) => /* @__PURE__ */ React__default.createElement("tr", { key: propDescriptor.name }, /* @__PURE__ */ React__default.createElement("td", null, " ", propDescriptor.name, " "), /* @__PURE__ */ React__default.createElement("td", null, /* @__PURE__ */ React__default.createElement("input", { ...register(propDescriptor.name) })))))),
|
|
103
|
-
/* @__PURE__ */ React__default.createElement("button", { type: "submit" }, "Submit")
|
|
104
|
-
);
|
|
105
|
-
};
|
|
106
|
-
export {
|
|
107
|
-
JsxEditor
|
|
108
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),t=require("@lexical/react/LexicalComposerContext"),r=require("@lexical/react/LexicalContentEditable"),l=require("@lexical/react/LexicalErrorBoundary"),a=require("@lexical/react/LexicalNestedComposer"),i=require("@lexical/react/LexicalRichTextPlugin"),n=require("@radix-ui/react-popover"),c=require("react-hook-form"),u=require("./index-8217810f.cjs");function o(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,l.get?l:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}require("@lexical/react/LexicalComposer"),require("@lexical/react/LexicalHorizontalRulePlugin"),require("@lexical/react/LexicalLinkPlugin"),require("@lexical/react/LexicalListPlugin"),require("@lexical/react/LexicalTabIndentationPlugin"),require("classnames"),require("lexical"),require("@lexical/code"),require("@lexical/link"),require("@lexical/list"),require("@lexical/react/LexicalHorizontalRuleNode"),require("@lexical/rich-text"),require("mdast-util-directive"),require("mdast-util-from-markdown"),require("mdast-util-frontmatter"),require("mdast-util-gfm-table"),require("mdast-util-mdx"),require("micromark-extension-directive"),require("micromark-extension-frontmatter"),require("micromark-extension-gfm-table"),require("micromark-extension-mdxjs"),require("@lexical/utils"),require("@lexical/selection"),require("@lexical/react/LexicalHistoryPlugin"),require("mdast-util-to-markdown"),require("@radix-ui/react-tooltip"),require("downshift"),require("@lexical/markdown"),require("@lexical/react/LexicalMarkdownShortcutPlugin"),require("react-diff-view"),require("unidiff"),require("@radix-ui/react-toolbar"),require("@radix-ui/react-select"),require("@radix-ui/react-dialog");const m=o(e),s=o(n),d=e=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"currentColor",viewBox:"0 0 24 24",...e},m.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},m.createElement("path",{d:"M0 0h24v24H0z"})),m.createElement("g",{mask:"url(#a)"},m.createElement("path",{d:"m9.25 22-.4-3.2a3.79 3.79 0 0 1-.613-.3 8.266 8.266 0 0 1-.562-.375L4.7 19.375l-2.75-4.75 2.575-1.95a2.387 2.387 0 0 1-.025-.338v-.675c0-.108.008-.22.025-.337L1.95 9.375l2.75-4.75 2.975 1.25c.183-.133.375-.258.575-.375.2-.117.4-.217.6-.3l.4-3.2h5.5l.4 3.2c.217.083.42.183.612.3.192.117.38.242.563.375l2.975-1.25 2.75 4.75-2.575 1.95c.017.117.025.23.025.338v.675c0 .108-.017.22-.05.337l2.575 1.95-2.75 4.75-2.95-1.25a6.842 6.842 0 0 1-.575.375c-.2.117-.4.217-.6.3l-.4 3.2h-5.5Zm2.8-6.5c.967 0 1.792-.342 2.475-1.025A3.372 3.372 0 0 0 15.55 12c0-.967-.342-1.792-1.025-2.475A3.373 3.373 0 0 0 12.05 8.5c-.983 0-1.813.342-2.488 1.025A3.393 3.393 0 0 0 8.55 12c0 .967.337 1.792 1.012 2.475.676.683 1.505 1.025 2.488 1.025Zm0-2c-.417 0-.77-.146-1.063-.438A1.446 1.446 0 0 1 10.55 12c0-.417.146-.77.438-1.063a1.446 1.446 0 0 1 1.062-.437c.417 0 .77.146 1.063.438.291.291.437.645.437 1.062 0 .417-.146.77-.438 1.063a1.447 1.447 0 0 1-1.062.437ZM11 20h1.975l.35-2.65a5.61 5.61 0 0 0 1.438-.588c.441-.258.845-.57 1.212-.937l2.475 1.025.975-1.7-2.15-1.625c.083-.233.142-.48.175-.738a6.153 6.153 0 0 0 0-1.575 3.535 3.535 0 0 0-.175-.737l2.15-1.625-.975-1.7-2.475 1.05a5.556 5.556 0 0 0-1.213-.962 5.607 5.607 0 0 0-1.437-.588L13 4h-1.975l-.35 2.65c-.517.133-.996.33-1.438.587a6.015 6.015 0 0 0-1.212.938L5.55 7.15l-.975 1.7 2.15 1.6c-.083.25-.142.5-.175.75a6.122 6.122 0 0 0 0 1.575c.033.25.092.5.175.75l-2.15 1.625.975 1.7 2.475-1.05c.367.383.77.704 1.212.962.442.259.921.455 1.438.588L11 20Z"}))),x=e.forwardRef(((t,r)=>e.createElement(s.Content,{...t,className:"",ref:r}))),E=e.forwardRef(((t,r)=>e.createElement(s.Trigger,{...t,className:"",ref:r})));const p=({attributes:t,componentName:r,onSubmit:l})=>{const[a,i]=e.useState(!1),n=e.useCallback((e=>{l(e),i(!1)}),[l]);return e.createElement(s.Root,{open:a,onOpenChange:e=>i(e)},e.createElement(E,null,e.createElement(d,null)),e.createElement(s.Portal,null,e.createElement(x,null,e.createElement(q,{attributes:t,componentName:r,onSubmit:n}))))},q=({attributes:r,componentName:l,onSubmit:a})=>{const[i]=u.useEmitterValues("jsxComponentDescriptors"),n=i.find((e=>e.name===l)),[o]=t.useLexicalComposerContext(),{register:m,handleSubmit:s}=c.useForm({defaultValues:r.reduce(((e,t)=>(e[t.name]=t.value,e)),{})});return e.createElement("form",{onSubmit:s((e=>{o.update((()=>{a(e)}))}))},e.createElement("table",null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("th",null,"Attribute"),e.createElement("th",null,"Value"))),e.createElement("tbody",null,n.props.map((t=>e.createElement("tr",{key:t.name},e.createElement("td",null," ",t.name," "),e.createElement("td",null,e.createElement("input",{...m(t.name)}))))))),e.createElement("button",{type:"submit"},"Submit"))};exports.JsxEditor=function({kind:t,attributes:n,componentName:c,editor:u,onSubmit:o,theme:m}){return"flow"===t?e.createElement("div",null,e.createElement("div",null,c),e.createElement(a.LexicalNestedComposer,{initialEditor:u,initialTheme:m},e.createElement(i.RichTextPlugin,{contentEditable:e.createElement(r.ContentEditable,null),placeholder:e.createElement("div",null,"Type here.."),ErrorBoundary:l}))):e.createElement("span",null,e.createElement("span",null,e.createElement(p,{attributes:n,componentName:c,onSubmit:o})),e.createElement("span",null,c,e.createElement(a.LexicalNestedComposer,{initialEditor:u,initialTheme:m},e.createElement(i.RichTextPlugin,{contentEditable:e.createElement(r.ContentEditable,{style:{padding:5,border:"1px solid red"}}),placeholder:e.createElement("div",null,"Type here.."),ErrorBoundary:l}))))};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import React__default from "react";
|
|
2
|
-
import { u as useEmitterValues, N as NestedEditorsContext } from "./index-1ab1a12e.js";
|
|
3
|
-
import "@lexical/react/LexicalComposer";
|
|
4
|
-
import "@lexical/react/LexicalContentEditable";
|
|
5
|
-
import "@lexical/react/LexicalErrorBoundary";
|
|
6
|
-
import "@lexical/react/LexicalHorizontalRulePlugin";
|
|
7
|
-
import "@lexical/react/LexicalLinkPlugin";
|
|
8
|
-
import "@lexical/react/LexicalListPlugin";
|
|
9
|
-
import "@lexical/react/LexicalRichTextPlugin";
|
|
10
|
-
import "@lexical/react/LexicalTabIndentationPlugin";
|
|
11
|
-
import "classnames";
|
|
12
|
-
import "lexical";
|
|
13
|
-
import "@lexical/code";
|
|
14
|
-
import "@lexical/link";
|
|
15
|
-
import "@lexical/list";
|
|
16
|
-
import "@lexical/react/LexicalHorizontalRuleNode";
|
|
17
|
-
import "@lexical/rich-text";
|
|
18
|
-
import "mdast-util-directive";
|
|
19
|
-
import "mdast-util-from-markdown";
|
|
20
|
-
import "mdast-util-frontmatter";
|
|
21
|
-
import "mdast-util-gfm-table";
|
|
22
|
-
import "mdast-util-mdx";
|
|
23
|
-
import "micromark-extension-directive";
|
|
24
|
-
import "micromark-extension-frontmatter";
|
|
25
|
-
import "micromark-extension-gfm-table";
|
|
26
|
-
import "micromark-extension-mdxjs";
|
|
27
|
-
import "@lexical/utils";
|
|
28
|
-
import "@lexical/react/LexicalComposerContext";
|
|
29
|
-
import "@lexical/selection";
|
|
30
|
-
import "@lexical/react/LexicalHistoryPlugin";
|
|
31
|
-
import "mdast-util-to-markdown";
|
|
32
|
-
import "@radix-ui/react-popover";
|
|
33
|
-
import "@radix-ui/react-tooltip";
|
|
34
|
-
import "downshift";
|
|
35
|
-
import "@lexical/markdown";
|
|
36
|
-
import "@lexical/react/LexicalMarkdownShortcutPlugin";
|
|
37
|
-
import "react-diff-view";
|
|
38
|
-
import "unidiff";
|
|
39
|
-
import "@radix-ui/react-toolbar";
|
|
40
|
-
import "@radix-ui/react-select";
|
|
41
|
-
import "@radix-ui/react-dialog";
|
|
42
|
-
import "@lexical/react/LexicalNestedComposer";
|
|
43
|
-
const LeafDirectiveEditor = ({ leafDirective, mdastNode, parentEditor }) => {
|
|
44
|
-
const [customLeafDirectiveEditors] = useEmitterValues("customLeafDirectiveEditors");
|
|
45
|
-
const Editor = React__default.useMemo(() => {
|
|
46
|
-
var _a;
|
|
47
|
-
return (_a = customLeafDirectiveEditors.find(({ testNode }) => testNode(mdastNode))) == null ? void 0 : _a.Editor;
|
|
48
|
-
}, [customLeafDirectiveEditors, mdastNode]);
|
|
49
|
-
if (Editor) {
|
|
50
|
-
return (
|
|
51
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
52
|
-
/* @__PURE__ */ React__default.createElement(NestedEditorsContext.Provider, { value: { parentEditor, mdastNode, lexicalNode: leafDirective } }, /* @__PURE__ */ React__default.createElement(Editor, { mdastNode, parentEditor, leafDirective }))
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
return /* @__PURE__ */ React__default.createElement("pre", null, JSON.stringify(mdastNode, null, 2));
|
|
56
|
-
};
|
|
57
|
-
export {
|
|
58
|
-
LeafDirectiveEditor
|
|
59
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),r=require("./index-8217810f.cjs");require("@lexical/react/LexicalComposer"),require("@lexical/react/LexicalContentEditable"),require("@lexical/react/LexicalErrorBoundary"),require("@lexical/react/LexicalHorizontalRulePlugin"),require("@lexical/react/LexicalLinkPlugin"),require("@lexical/react/LexicalListPlugin"),require("@lexical/react/LexicalRichTextPlugin"),require("@lexical/react/LexicalTabIndentationPlugin"),require("classnames"),require("lexical"),require("@lexical/code"),require("@lexical/link"),require("@lexical/list"),require("@lexical/react/LexicalHorizontalRuleNode"),require("@lexical/rich-text"),require("mdast-util-directive"),require("mdast-util-from-markdown"),require("mdast-util-frontmatter"),require("mdast-util-gfm-table"),require("mdast-util-mdx"),require("micromark-extension-directive"),require("micromark-extension-frontmatter"),require("micromark-extension-gfm-table"),require("micromark-extension-mdxjs"),require("@lexical/utils"),require("@lexical/react/LexicalComposerContext"),require("@lexical/selection"),require("@lexical/react/LexicalHistoryPlugin"),require("mdast-util-to-markdown"),require("@radix-ui/react-popover"),require("@radix-ui/react-tooltip"),require("downshift"),require("@lexical/markdown"),require("@lexical/react/LexicalMarkdownShortcutPlugin"),require("react-diff-view"),require("unidiff"),require("@radix-ui/react-toolbar"),require("@radix-ui/react-select"),require("@radix-ui/react-dialog"),require("@lexical/react/LexicalNestedComposer");exports.LeafDirectiveEditor=({leafDirective:i,mdastNode:t,parentEditor:a})=>{const[l]=r.useEmitterValues("customLeafDirectiveEditors"),c=e.useMemo((()=>{var e;return null==(e=l.find((({testNode:e})=>e(t))))?void 0:e.Editor}),[l,t]);return c?e.createElement(r.NestedEditorsContext.Provider,{value:{parentEditor:a,mdastNode:t,lexicalNode:i}},e.createElement(c,{mdastNode:t,parentEditor:a,leafDirective:i})):e.createElement("pre",null,JSON.stringify(t,null,2))};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@codesandbox/sandpack-react"),r=require("@lexical/react/LexicalComposerContext"),i=require("react"),a=require("./index-8217810f.cjs"),t=require("./useCodeMirrorRef-7055e7de.cjs");require("@lexical/react/LexicalComposer"),require("@lexical/react/LexicalContentEditable"),require("@lexical/react/LexicalErrorBoundary"),require("@lexical/react/LexicalHorizontalRulePlugin"),require("@lexical/react/LexicalLinkPlugin"),require("@lexical/react/LexicalListPlugin"),require("@lexical/react/LexicalRichTextPlugin"),require("@lexical/react/LexicalTabIndentationPlugin"),require("classnames"),require("lexical"),require("@lexical/code"),require("@lexical/link"),require("@lexical/list"),require("@lexical/react/LexicalHorizontalRuleNode"),require("@lexical/rich-text"),require("mdast-util-directive"),require("mdast-util-from-markdown"),require("mdast-util-frontmatter"),require("mdast-util-gfm-table"),require("mdast-util-mdx"),require("micromark-extension-directive"),require("micromark-extension-frontmatter"),require("micromark-extension-gfm-table"),require("micromark-extension-mdxjs"),require("@lexical/utils"),require("@lexical/selection"),require("@lexical/react/LexicalHistoryPlugin"),require("mdast-util-to-markdown"),require("@radix-ui/react-popover"),require("@radix-ui/react-tooltip"),require("downshift"),require("@lexical/markdown"),require("@lexical/react/LexicalMarkdownShortcutPlugin"),require("react-diff-view"),require("unidiff"),require("@radix-ui/react-toolbar"),require("@radix-ui/react-select"),require("@radix-ui/react-dialog"),require("@lexical/react/LexicalNestedComposer");const l=({onChange:r,snippetFileName:i})=>{const{sandpack:a}=e.useSandpack();return r(a.files[i].code),null};exports.SandpackEditor=({nodeKey:n,code:c,meta:u,onChange:o,focusEmitter:s})=>{var d,x,m;const[p]=r.useLexicalComposerContext(),[q]=a.useEmitterValues("sandpackConfig"),f=t.useCodeMirrorRef(n,"sandpack","jsx"),k=a.usePublisher("activeEditorType");i.useEffect((()=>{s.subscribe((()=>{var e,r;null==(r=null==(e=null==f?void 0:f.current)?void 0:e.getCodemirror())||r.focus(),k({type:"sandpack",nodeKey:n})}))}),[s,f,k,n]);const L=i.useCallback((e=>{p.update((()=>{o(e)}))}),[o,p]),g=function(e,r){return r.presets.find((r=>r.meta===e))||r.presets.find((e=>e.name===r.defaultPreset))}(u,q);if(!g)throw new Error(`No sandpack preset found for meta: ${u}`);return i.createElement(e.SandpackProvider,{template:g.sandpackTemplate,theme:g.sandpackTheme,files:{[g.snippetFileName]:c,...Object.entries(g.files||{}).reduce(((e,[r,i])=>({...e,[r]:{code:i,readOnly:!0}})),{})},customSetup:{dependencies:g.dependencies}},i.createElement(e.SandpackLayout,null,i.createElement(e.SandpackCodeEditor,{showLineNumbers:!0,showInlineErrors:!0,ref:f}),(null==(d=q.panes)?void 0:d.console)?i.createElement(e.SandpackConsole,null):null,(null==(x=q.panes)?void 0:x.tests)?i.createElement(e.SandpackTests,null):null,!1===(null==(m=q.panes)?void 0:m.preview)?null:i.createElement(e.SandpackPreview,null)),i.createElement(l,{onChange:L,snippetFileName:g.snippetFileName}))};
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { SandpackProvider, SandpackLayout, SandpackCodeEditor, SandpackConsole, SandpackTests, SandpackPreview, useSandpack } from "@codesandbox/sandpack-react";
|
|
2
|
-
import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
|
|
3
|
-
import React__default from "react";
|
|
4
|
-
import { u as useEmitterValues, a as usePublisher } from "./index-1ab1a12e.js";
|
|
5
|
-
import { u as useCodeMirrorRef } from "./useCodeMirrorRef-5356dfa5.js";
|
|
6
|
-
import "@lexical/react/LexicalComposer";
|
|
7
|
-
import "@lexical/react/LexicalContentEditable";
|
|
8
|
-
import "@lexical/react/LexicalErrorBoundary";
|
|
9
|
-
import "@lexical/react/LexicalHorizontalRulePlugin";
|
|
10
|
-
import "@lexical/react/LexicalLinkPlugin";
|
|
11
|
-
import "@lexical/react/LexicalListPlugin";
|
|
12
|
-
import "@lexical/react/LexicalRichTextPlugin";
|
|
13
|
-
import "@lexical/react/LexicalTabIndentationPlugin";
|
|
14
|
-
import "classnames";
|
|
15
|
-
import "lexical";
|
|
16
|
-
import "@lexical/code";
|
|
17
|
-
import "@lexical/link";
|
|
18
|
-
import "@lexical/list";
|
|
19
|
-
import "@lexical/react/LexicalHorizontalRuleNode";
|
|
20
|
-
import "@lexical/rich-text";
|
|
21
|
-
import "mdast-util-directive";
|
|
22
|
-
import "mdast-util-from-markdown";
|
|
23
|
-
import "mdast-util-frontmatter";
|
|
24
|
-
import "mdast-util-gfm-table";
|
|
25
|
-
import "mdast-util-mdx";
|
|
26
|
-
import "micromark-extension-directive";
|
|
27
|
-
import "micromark-extension-frontmatter";
|
|
28
|
-
import "micromark-extension-gfm-table";
|
|
29
|
-
import "micromark-extension-mdxjs";
|
|
30
|
-
import "@lexical/utils";
|
|
31
|
-
import "@lexical/selection";
|
|
32
|
-
import "@lexical/react/LexicalHistoryPlugin";
|
|
33
|
-
import "mdast-util-to-markdown";
|
|
34
|
-
import "@radix-ui/react-popover";
|
|
35
|
-
import "@radix-ui/react-tooltip";
|
|
36
|
-
import "downshift";
|
|
37
|
-
import "@lexical/markdown";
|
|
38
|
-
import "@lexical/react/LexicalMarkdownShortcutPlugin";
|
|
39
|
-
import "react-diff-view";
|
|
40
|
-
import "unidiff";
|
|
41
|
-
import "@radix-ui/react-toolbar";
|
|
42
|
-
import "@radix-ui/react-select";
|
|
43
|
-
import "@radix-ui/react-dialog";
|
|
44
|
-
import "@lexical/react/LexicalNestedComposer";
|
|
45
|
-
const CodeUpdateEmitter = ({ onChange, snippetFileName }) => {
|
|
46
|
-
const { sandpack } = useSandpack();
|
|
47
|
-
onChange(sandpack.files[snippetFileName].code);
|
|
48
|
-
return null;
|
|
49
|
-
};
|
|
50
|
-
function getPresetOrDefault(meta, config) {
|
|
51
|
-
return config.presets.find((preset) => preset.meta === meta) || config.presets.find((preset) => preset.name === config.defaultPreset);
|
|
52
|
-
}
|
|
53
|
-
const SandpackEditor = ({ nodeKey, code, meta, onChange, focusEmitter }) => {
|
|
54
|
-
var _a, _b, _c;
|
|
55
|
-
const [editor] = useLexicalComposerContext();
|
|
56
|
-
const [config] = useEmitterValues("sandpackConfig");
|
|
57
|
-
const codeMirrorRef = useCodeMirrorRef(nodeKey, "sandpack", "jsx");
|
|
58
|
-
const setActiveEditorType = usePublisher("activeEditorType");
|
|
59
|
-
React__default.useEffect(() => {
|
|
60
|
-
focusEmitter.subscribe(() => {
|
|
61
|
-
var _a2, _b2;
|
|
62
|
-
(_b2 = (_a2 = codeMirrorRef == null ? void 0 : codeMirrorRef.current) == null ? void 0 : _a2.getCodemirror()) == null ? void 0 : _b2.focus();
|
|
63
|
-
setActiveEditorType({ type: "sandpack", nodeKey });
|
|
64
|
-
});
|
|
65
|
-
}, [focusEmitter, codeMirrorRef, setActiveEditorType, nodeKey]);
|
|
66
|
-
const wrappedOnChange = React__default.useCallback(
|
|
67
|
-
(code2) => {
|
|
68
|
-
editor.update(() => {
|
|
69
|
-
onChange(code2);
|
|
70
|
-
});
|
|
71
|
-
},
|
|
72
|
-
[onChange, editor]
|
|
73
|
-
);
|
|
74
|
-
const preset = getPresetOrDefault(meta, config);
|
|
75
|
-
if (!preset) {
|
|
76
|
-
throw new Error(`No sandpack preset found for meta: ${meta}`);
|
|
77
|
-
}
|
|
78
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
79
|
-
SandpackProvider,
|
|
80
|
-
{
|
|
81
|
-
template: preset.sandpackTemplate,
|
|
82
|
-
theme: preset.sandpackTheme,
|
|
83
|
-
files: {
|
|
84
|
-
[preset.snippetFileName]: code,
|
|
85
|
-
...Object.entries(preset.files || {}).reduce(
|
|
86
|
-
(acc, [filePath, fileContents]) => ({ ...acc, ...{ [filePath]: { code: fileContents, readOnly: true } } }),
|
|
87
|
-
{}
|
|
88
|
-
)
|
|
89
|
-
},
|
|
90
|
-
customSetup: {
|
|
91
|
-
dependencies: preset.dependencies
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
/* @__PURE__ */ React__default.createElement(SandpackLayout, null, /* @__PURE__ */ React__default.createElement(SandpackCodeEditor, { showLineNumbers: true, showInlineErrors: true, ref: codeMirrorRef }), ((_a = config.panes) == null ? void 0 : _a.console) ? /* @__PURE__ */ React__default.createElement(SandpackConsole, null) : null, ((_b = config.panes) == null ? void 0 : _b.tests) ? /* @__PURE__ */ React__default.createElement(SandpackTests, null) : null, ((_c = config.panes) == null ? void 0 : _c.preview) === false ? null : /* @__PURE__ */ React__default.createElement(SandpackPreview, null)),
|
|
95
|
-
/* @__PURE__ */ React__default.createElement(CodeUpdateEmitter, { onChange: wrappedOnChange, snippetFileName: preset.snippetFileName })
|
|
96
|
-
);
|
|
97
|
-
};
|
|
98
|
-
export {
|
|
99
|
-
SandpackEditor
|
|
100
|
-
};
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { markdown } from "@codemirror/lang-markdown";
|
|
2
|
-
import { SandpackProvider, CodeEditor } from "@codesandbox/sandpack-react";
|
|
3
|
-
import React__default from "react";
|
|
4
|
-
import { u as useEmitterValues, a as usePublisher } from "./index-1ab1a12e.js";
|
|
5
|
-
import "@lexical/react/LexicalComposer";
|
|
6
|
-
import "@lexical/react/LexicalContentEditable";
|
|
7
|
-
import "@lexical/react/LexicalErrorBoundary";
|
|
8
|
-
import "@lexical/react/LexicalHorizontalRulePlugin";
|
|
9
|
-
import "@lexical/react/LexicalLinkPlugin";
|
|
10
|
-
import "@lexical/react/LexicalListPlugin";
|
|
11
|
-
import "@lexical/react/LexicalRichTextPlugin";
|
|
12
|
-
import "@lexical/react/LexicalTabIndentationPlugin";
|
|
13
|
-
import "classnames";
|
|
14
|
-
import "lexical";
|
|
15
|
-
import "@lexical/code";
|
|
16
|
-
import "@lexical/link";
|
|
17
|
-
import "@lexical/list";
|
|
18
|
-
import "@lexical/react/LexicalHorizontalRuleNode";
|
|
19
|
-
import "@lexical/rich-text";
|
|
20
|
-
import "mdast-util-directive";
|
|
21
|
-
import "mdast-util-from-markdown";
|
|
22
|
-
import "mdast-util-frontmatter";
|
|
23
|
-
import "mdast-util-gfm-table";
|
|
24
|
-
import "mdast-util-mdx";
|
|
25
|
-
import "micromark-extension-directive";
|
|
26
|
-
import "micromark-extension-frontmatter";
|
|
27
|
-
import "micromark-extension-gfm-table";
|
|
28
|
-
import "micromark-extension-mdxjs";
|
|
29
|
-
import "@lexical/utils";
|
|
30
|
-
import "@lexical/react/LexicalComposerContext";
|
|
31
|
-
import "@lexical/selection";
|
|
32
|
-
import "@lexical/react/LexicalHistoryPlugin";
|
|
33
|
-
import "mdast-util-to-markdown";
|
|
34
|
-
import "@radix-ui/react-popover";
|
|
35
|
-
import "@radix-ui/react-tooltip";
|
|
36
|
-
import "downshift";
|
|
37
|
-
import "@lexical/markdown";
|
|
38
|
-
import "@lexical/react/LexicalMarkdownShortcutPlugin";
|
|
39
|
-
import "react-diff-view";
|
|
40
|
-
import "unidiff";
|
|
41
|
-
import "@radix-ui/react-toolbar";
|
|
42
|
-
import "@radix-ui/react-select";
|
|
43
|
-
import "@radix-ui/react-dialog";
|
|
44
|
-
import "@lexical/react/LexicalNestedComposer";
|
|
45
|
-
const SourceEditor = () => {
|
|
46
|
-
const [markdown$1] = useEmitterValues("markdownSourceFromEditor");
|
|
47
|
-
const updateMarkdown = usePublisher("markdownSourceFromEditor");
|
|
48
|
-
const codeMirrorRef = React__default.useRef(null);
|
|
49
|
-
return /* @__PURE__ */ React__default.createElement("div", null, /* @__PURE__ */ React__default.createElement(React__default.Suspense, { fallback: null }, /* @__PURE__ */ React__default.createElement(SandpackProvider, null, /* @__PURE__ */ React__default.createElement(
|
|
50
|
-
CodeEditor,
|
|
51
|
-
{
|
|
52
|
-
showLineNumbers: true,
|
|
53
|
-
additionalLanguages: [{ name: "markdown", extensions: ["md"], language: markdown() }],
|
|
54
|
-
initMode: "lazy",
|
|
55
|
-
filePath: `file.md`,
|
|
56
|
-
code: markdown$1,
|
|
57
|
-
onCodeUpdate: updateMarkdown,
|
|
58
|
-
ref: codeMirrorRef
|
|
59
|
-
}
|
|
60
|
-
))));
|
|
61
|
-
};
|
|
62
|
-
export {
|
|
63
|
-
SourceEditor
|
|
64
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@codemirror/lang-markdown"),r=require("@codesandbox/sandpack-react"),i=require("react"),a=require("./index-8217810f.cjs");require("@lexical/react/LexicalComposer"),require("@lexical/react/LexicalContentEditable"),require("@lexical/react/LexicalErrorBoundary"),require("@lexical/react/LexicalHorizontalRulePlugin"),require("@lexical/react/LexicalLinkPlugin"),require("@lexical/react/LexicalListPlugin"),require("@lexical/react/LexicalRichTextPlugin"),require("@lexical/react/LexicalTabIndentationPlugin"),require("classnames"),require("lexical"),require("@lexical/code"),require("@lexical/link"),require("@lexical/list"),require("@lexical/react/LexicalHorizontalRuleNode"),require("@lexical/rich-text"),require("mdast-util-directive"),require("mdast-util-from-markdown"),require("mdast-util-frontmatter"),require("mdast-util-gfm-table"),require("mdast-util-mdx"),require("micromark-extension-directive"),require("micromark-extension-frontmatter"),require("micromark-extension-gfm-table"),require("micromark-extension-mdxjs"),require("@lexical/utils"),require("@lexical/react/LexicalComposerContext"),require("@lexical/selection"),require("@lexical/react/LexicalHistoryPlugin"),require("mdast-util-to-markdown"),require("@radix-ui/react-popover"),require("@radix-ui/react-tooltip"),require("downshift"),require("@lexical/markdown"),require("@lexical/react/LexicalMarkdownShortcutPlugin"),require("react-diff-view"),require("unidiff"),require("@radix-ui/react-toolbar"),require("@radix-ui/react-select"),require("@radix-ui/react-dialog"),require("@lexical/react/LexicalNestedComposer");exports.SourceEditor=()=>{const[l]=a.useEmitterValues("markdownSourceFromEditor"),t=a.usePublisher("markdownSourceFromEditor"),u=i.useRef(null);return i.createElement("div",null,i.createElement(i.Suspense,{fallback:null},i.createElement(r.SandpackProvider,null,i.createElement(r.CodeEditor,{showLineNumbers:!0,additionalLanguages:[{name:"markdown",extensions:["md"],language:e.markdown()}],initMode:"lazy",filePath:"file.md",code:l,onCodeUpdate:t,ref:u}))))};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@lexical/react/LexicalContentEditable"),t=require("@lexical/react/LexicalErrorBoundary"),l=require("@lexical/react/LexicalNestedComposer"),r=require("@lexical/react/LexicalRichTextPlugin"),a=require("lexical"),n=require("react"),i=require("./index-8217810f.cjs"),o=require("mdast-util-to-hast"),c=require("hast-util-raw"),s=require("hast-util-sanitize"),m=require("hast-util-to-html"),u=require("@radix-ui/react-popover"),h=require("classnames"),d=require("@radix-ui/react-toolbar");function g(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const l in e)if("default"!==l){const r=Object.getOwnPropertyDescriptor(e,l);Object.defineProperty(t,l,r.get?r:{enumerable:!0,get:()=>e[l]})}return t.default=e,Object.freeze(t)}require("@lexical/react/LexicalComposer"),require("@lexical/react/LexicalHorizontalRulePlugin"),require("@lexical/react/LexicalLinkPlugin"),require("@lexical/react/LexicalListPlugin"),require("@lexical/react/LexicalTabIndentationPlugin"),require("@lexical/code"),require("@lexical/link"),require("@lexical/list"),require("@lexical/react/LexicalHorizontalRuleNode"),require("@lexical/rich-text"),require("mdast-util-directive"),require("mdast-util-from-markdown"),require("mdast-util-frontmatter"),require("mdast-util-gfm-table"),require("mdast-util-mdx"),require("micromark-extension-directive"),require("micromark-extension-frontmatter"),require("micromark-extension-gfm-table"),require("micromark-extension-mdxjs"),require("@lexical/utils"),require("@lexical/react/LexicalComposerContext"),require("@lexical/selection"),require("@lexical/react/LexicalHistoryPlugin"),require("mdast-util-to-markdown"),require("@radix-ui/react-tooltip"),require("downshift"),require("@lexical/markdown"),require("@lexical/react/LexicalMarkdownShortcutPlugin"),require("react-diff-view"),require("unidiff"),require("@radix-ui/react-select"),require("@radix-ui/react-dialog");const E=g(n),v=g(u),p=g(d),x=e=>{const t={type:"root",children:e.mdastChildren},l=c.raw(o.toHast(t,{allowDangerousHtml:!0})),r=s.sanitize(l),a=m.toHtml(r);return n.createElement("span",{dangerouslySetInnerHTML:{__html:a||" "}})},w=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"currentColor",viewBox:"0 0 24 24",...e},E.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M0 0h24v24H0z"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M6 14c-.55 0-1.02-.196-1.412-.588A1.926 1.926 0 0 1 4 12c0-.55.196-1.02.588-1.412A1.926 1.926 0 0 1 6 10c.55 0 1.02.196 1.412.588.392.391.588.862.588 1.412 0 .55-.196 1.02-.588 1.412A1.926 1.926 0 0 1 6 14Zm6 0c-.55 0-1.02-.196-1.412-.588A1.926 1.926 0 0 1 10 12c0-.55.196-1.02.588-1.412A1.926 1.926 0 0 1 12 10c.55 0 1.02.196 1.412.588.392.391.588.862.588 1.412 0 .55-.196 1.02-.588 1.412A1.926 1.926 0 0 1 12 14Zm6 0c-.55 0-1.02-.196-1.413-.588A1.926 1.926 0 0 1 16 12c0-.55.196-1.02.587-1.412A1.926 1.926 0 0 1 18 10c.55 0 1.02.196 1.413.588.391.391.587.862.587 1.412 0 .55-.196 1.02-.587 1.412A1.926 1.926 0 0 1 18 14Z"}))),C=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M0 0h20v20H0z"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M3 17v-1.5h14V17H3Zm0-3.125v-1.5h10v1.5H3Zm0-3.125v-1.5h14v1.5H3Zm0-3.125v-1.5h10v1.5H3ZM3 4.5V3h14v1.5H3Z"}))),k=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M0 0h20v20H0z"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M3 17v-1.5h14V17H3Zm3-3.125v-1.5h8v1.5H6ZM3 10.75v-1.5h14v1.5H3Zm3-3.125v-1.5h8v1.5H6ZM3 4.5V3h14v1.5H3Z"}))),f=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M0 0h20v20H0z"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M3 17v-1.5h14V17H3Zm4-3.125v-1.5h10v1.5H7ZM3 10.75v-1.5h14v1.5H3Zm4-3.125v-1.5h10v1.5H7ZM3 4.5V3h14v1.5H3Z"}))),H=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M0 20h20v20H0z",transform:"rotate(-90 0 20)"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M15.75 4.5H13v2.75h-1.5V4.5H8.75V3h2.75V.25H13V3h2.75v1.5ZM13 17H5V3h2.25v1.5H6.5v11h5V8.75H13V17Z"}))),y=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M0 0h20v20H0z",transform:"matrix(0 -1 -1 0 20 20)"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M4.25 4.5H7v2.75h1.5V4.5h2.75V3H8.5V.25H7V3H4.25v1.5ZM7 17h8V3h-2.25v1.5h.75v11h-5V8.75H7V17Z"}))),b=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M0 0h20v20H0z"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M6.5 17a1.45 1.45 0 0 1-1.06-.44A1.445 1.445 0 0 1 5 15.5v-10H4V4h4V3h4v1h4v1.5h-1v9.991c0 .423-.147.78-.44 1.072A1.45 1.45 0 0 1 13.5 17h-7Zm7-11.5h-7v10h7v-10ZM8 14h1.5V7H8v7Zm2.5 0H12V7h-1.5v7Z"}))),T=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M0 0h20v20H0z",transform:"matrix(-1 0 0 1 20 0)"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M4.5 16.75V14h2.75v-1.5H4.5V9.75H3v2.75H.25V14H3v2.75h1.5ZM17 14V6H3v2.25h1.5V7.5h11v5H8.75V14H17Z"}))),M=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M20 20h20v20H20z",transform:"rotate(180 20 20)"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M4.5 3.25V6h2.75v1.5H4.5v2.75H3V7.5H.25V6H3V3.25h1.5ZM17 6v8H3v-2.25h1.5v.75h11v-5H8.75V6H17Z"}))),V=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M20 20h20v20H20z",transform:"rotate(180 20 20)"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M10.5 3.25V6h2.75v1.5H10.5v2.75H9V7.5H6.25V6H9V3.25h1.5ZM17 6v8H3V6h2.5v1.5h-1v5h11v-5H14V6h3Z"}))),q=e=>E.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,fill:"currentColor",viewBox:"0 0 20 20",...e},E.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},E.createElement("path",{d:"M0 0h20v20H0z",transform:"matrix(0 -1 -1 0 20 20)"})),E.createElement("g",{mask:"url(#a)"},E.createElement("path",{d:"M3.25 10.5H6v2.75h1.5V10.5h2.75V9H7.5V6.25H6V9H3.25v1.5ZM6 17h8V3H6v2.5h1.5v-1h5v11h-5V14H6v3Z"}))),A={center:i.styles.centeredCell,left:i.styles.leftAlignedCell,right:i.styles.rightAlignedCell},O=({align:e,...t})=>{const[l,r]=t.activeCellTuple,a=l&&l[0]===t.colIndex&&l[1]===t.rowIndex,i=A[e||"left"];return n.createElement("td",{className:i,"data-active":a,onClick:()=>{r([t.colIndex,t.rowIndex])}},a?n.createElement(R,{...t}):n.createElement(x,{mdastChildren:t.contents}))},R=({activeCellTuple:o,parentEditor:c,lexicalTable:s,contents:m,colIndex:u,rowIndex:h})=>{const[d,g,E,v]=i.useEmitterValues("markdownParseOptions","lexicalConvertOptions","jsxComponentDescriptors","lexicalNodes"),[p]=n.useState((()=>{let e=!1;const t=a.createEditor({nodes:v,theme:i.theme});function l(l){e||(e=!0,t.getEditorState().read((()=>{const e=i.exportLexicalTreeToMdast({root:a.$getRoot(),jsxComponentDescriptors:E,...g});c.update((()=>{s.updateCellContents(u,h,e.children[0].children)}))})),o[1](l))}return t.registerCommand(a.KEY_TAB_COMMAND,(e=>{e.preventDefault();return l(e.shiftKey?[u-1,h]:[u+1,h]),!0}),a.COMMAND_PRIORITY_CRITICAL),t.registerCommand(a.KEY_ENTER_COMMAND,(e=>{null==e||e.preventDefault();return l((null==e?void 0:e.shiftKey)?[u,h-1]:[u,h+1]),!0}),a.COMMAND_PRIORITY_CRITICAL),t.registerCommand(a.BLUR_COMMAND,(e=>{const t=e.relatedTarget;return void 0===(null==t?void 0:t.dataset.editorDialog)&&void 0===(null==t?void 0:t.dataset.toolbarItem)&&(l(null),!0)}),a.COMMAND_PRIORITY_CRITICAL),t.registerRootListener((e=>{e&&t.focus()})),t.update((()=>{i.importMdastTreeToLexical({root:a.$getRoot(),mdastRoot:{type:"root",children:[{type:"paragraph",children:m}]},visitors:d.visitors})})),t}));return n.createElement(l.LexicalNestedComposer,{initialEditor:p},n.createElement(r.RichTextPlugin,{contentEditable:n.createElement(e.ContentEditable,{autoFocus:!0}),placeholder:n.createElement("div",null),ErrorBoundary:t}),n.createElement(i.SharedHistoryPlugin,null))},N=({parentEditor:e,highlightedCoordinates:t,align:l,lexicalTable:r,colIndex:a,setActiveCellWithBoundaries:o})=>{const[c]=i.useEmitterValues("editorRootElementRef"),s=n.useCallback((t=>{e.update((()=>{r.insertColumnAt(t)})),o([t,0])}),[e,r,o]),m=n.useCallback((t=>{e.update((()=>{r.deleteColumnAt(t)}))}),[e,r]),u=n.useCallback(((t,l)=>{e.update((()=>{r.setColumnAlign(t,l)}))}),[e,r]);return n.createElement(v.Root,null,n.createElement(v.PopoverTrigger,{className:i.styles.tableColumnEditorTrigger,"data-active":t[0]===a+1,title:"Column menu"},n.createElement(w,null)),n.createElement(v.Portal,{container:null==c?void 0:c.current},n.createElement(v.PopoverContent,{className:h(i.styles.tableColumnEditorPopoverContent),onOpenAutoFocus:e=>e.preventDefault(),sideOffset:5,side:"top"},n.createElement(p.Root,{className:i.styles.tableColumnEditorToolbar},n.createElement(p.ToggleGroup,{className:i.styles.toggleGroupRoot,onValueChange:e=>{u(a,e)},value:l||"left",type:"single","aria-label":"Text alignment"},n.createElement(p.ToggleItem,{value:"left",title:"Align left"},n.createElement(C,null)),n.createElement(p.ToggleItem,{value:"center",title:"Align center"},n.createElement(k,null)),n.createElement(p.ToggleItem,{value:"right",title:"Align right"},n.createElement(f,null))),n.createElement(p.Separator,null),n.createElement(p.Button,{onClick:s.bind(null,a),title:"Insert a column to the left of this one"},n.createElement(H,null)),n.createElement(p.Button,{onClick:s.bind(null,a+1),title:"Insert a column to the right of this one"},n.createElement(y,null)),n.createElement(p.Button,{onClick:m.bind(null,a),title:"Delete this column"},n.createElement(b,null))))))},I=({parentEditor:e,highlightedCoordinates:t,lexicalTable:l,rowIndex:r,setActiveCellWithBoundaries:a})=>{const[o]=i.useEmitterValues("editorRootElementRef"),c=n.useCallback((t=>{e.update((()=>{l.insertRowAt(t)})),a([0,t])}),[e,l,a]),s=n.useCallback((t=>{e.update((()=>{l.deleteRowAt(t)}))}),[e,l]);return n.createElement(v.Root,null,n.createElement(v.PopoverTrigger,{className:i.styles.tableColumnEditorTrigger,"data-active":t[1]===r},n.createElement(w,null)),n.createElement(v.Portal,{container:null==o?void 0:o.current},n.createElement(v.PopoverContent,{className:h(i.styles.tableColumnEditorPopoverContent),onOpenAutoFocus:e=>e.preventDefault(),sideOffset:5,side:"bottom"},n.createElement(p.Root,{className:i.styles.tableColumnEditorToolbar},n.createElement(p.Button,{onClick:c.bind(null,r),title:"Insert a row above this one"},n.createElement(T,null)),n.createElement(p.Button,{onClick:c.bind(null,r+1),title:"Insert a row below this one"},n.createElement(M,null)),n.createElement(p.Button,{onClick:s.bind(null,r),title:"Delete this row"},n.createElement(b,null))))))};exports.TableEditor=({mdastNode:e,parentEditor:t,lexicalTable:l})=>{const[r,o]=n.useState(null),c=n.useCallback((e=>{const r=l.getColCount();if(null===e)return void o(null);let[n,i]=e;return n>r-1&&(n=0,i++),n<0&&(n=r-1,i-=1),i>l.getRowCount()-1?(o(null),void t.update((()=>{if(l.getLatest().getNextSibling())l.getLatest().selectNext();else{const e=a.$createParagraphNode();l.insertAfter(e),e.select()}}))):i<0?(o(null),void t.update((()=>{l.getLatest().selectPrevious()}))):void o([n,i])}),[l,t]);n.useEffect((()=>{l.focusEmitter.subscribe(c)}),[l,c]);const s=n.useCallback((()=>{t.update((()=>{l.addRowToBottom(),o([0,l.getRowCount()])}))}),[t,l]),m=n.useCallback((()=>{t.update((()=>{l.addColumnToRight(),o([l.getColCount(),0])}))}),[t,l]),[u,h]=n.useState([-1,-1]),d=n.useCallback((e=>{let t=e.target;for(;t&&!["TH","TD"].includes(t.tagName);){if(t===e.currentTarget)return;t=t.parentElement}if(null===t)return;const l=t.parentElement,r="TFOOT"===l.parentElement.tagName?-1:Array.from(l.children).indexOf(t),a="TH"===t.tagName?-1:Array.from(l.parentElement.children).indexOf(l);h([r,a])}),[]);return n.createElement("table",{className:i.styles.tableEditor,onMouseOver:d,onMouseLeave:()=>h([-1,-1])},n.createElement("colgroup",null,n.createElement("col",null),Array.from({length:e.children[0].children.length},((t,l)=>{const r=(e.align||[])[l]||"left",a=A[r];return n.createElement("col",{key:l,className:a})})),n.createElement("col",null)),n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",{className:i.styles.tableToolsColumn,"data-tool-cell":!0},n.createElement("button",{className:i.styles.iconButton,title:"Delete table",onClick:()=>{t.update((()=>{l.selectNext(),l.remove()}))}},n.createElement(b,null))),Array.from({length:e.children[0].children.length},((r,a)=>n.createElement("th",{key:a,"data-tool-cell":!0},n.createElement(N,{setActiveCellWithBoundaries:c,parentEditor:t,colIndex:a,highlightedCoordinates:u,lexicalTable:l,align:(e.align||[])[a]})))),n.createElement("th",{className:i.styles.tableToolsColumn}))),n.createElement("tbody",null,e.children.map(((a,o)=>n.createElement("tr",{key:o},n.createElement("td",{className:i.styles.toolCell,"data-tool-cell":!0},n.createElement(I,{setActiveCellWithBoundaries:c,parentEditor:t,rowIndex:o,highlightedCoordinates:u,lexicalTable:l})),a.children.map(((a,i)=>{var s;return n.createElement(O,{align:null==(s=e.align)?void 0:s[i],key:i,contents:a.children,rowIndex:o,colIndex:i,lexicalTable:l,parentEditor:t,activeCellTuple:[r,c]})})),0===o&&n.createElement("th",{rowSpan:l.getRowCount(),"data-tool-cell":!0},n.createElement("button",{className:i.styles.addColumnButton,onClick:m},n.createElement(q,null))))))),n.createElement("tfoot",null,n.createElement("tr",null,n.createElement("th",null),n.createElement("th",{colSpan:l.getColCount()},n.createElement("button",{className:i.styles.addRowButton,onClick:s},n.createElement(V,null))),n.createElement("th",null))))};
|