@haklex/rich-editor 0.0.55 → 0.0.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{LinkFavicon-C7-e1dch.js → LinkFavicon-K7OT0XLj.js} +1 -1
- package/dist/{RichEditor-B6qbaX5f.js → RichEditor-DrVz6HFa.js} +139 -12
- package/dist/components/ContentEditable.d.ts +2 -1
- package/dist/components/ContentEditable.d.ts.map +1 -1
- package/dist/components/RichEditor.d.ts +1 -1
- package/dist/components/RichEditor.d.ts.map +1 -1
- package/dist/editor.mjs +2 -2
- package/dist/{favicon-Di7XTTqC.js → favicon-DUlhCRKH.js} +15 -5
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +19 -5
- package/dist/nodes/AlertQuoteEditNode.d.ts +2 -2
- package/dist/nodes/AlertQuoteEditNode.d.ts.map +1 -1
- package/dist/nodes/BannerEditNode.d.ts +2 -2
- package/dist/nodes/BannerEditNode.d.ts.map +1 -1
- package/dist/nodes/CodeBlockEditNode.d.ts +6 -1
- package/dist/nodes/CodeBlockEditNode.d.ts.map +1 -1
- package/dist/nodes/CodeBlockNode.d.ts +2 -2
- package/dist/nodes/CodeBlockNode.d.ts.map +1 -1
- package/dist/nodes/ImageNode.d.ts +2 -2
- package/dist/nodes/ImageNode.d.ts.map +1 -1
- package/dist/nodes/LinkCardNode.d.ts +2 -2
- package/dist/nodes/LinkCardNode.d.ts.map +1 -1
- package/dist/nodes/MermaidNode.d.ts +2 -2
- package/dist/nodes/MermaidNode.d.ts.map +1 -1
- package/dist/nodes/VideoNode.d.ts +2 -2
- package/dist/nodes/VideoNode.d.ts.map +1 -1
- package/dist/plugins/MarkdownPastePlugin.d.ts +2 -0
- package/dist/plugins/MarkdownPastePlugin.d.ts.map +1 -0
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/static-entry.mjs +2 -2
- package/dist/types/slash-menu.d.ts +10 -1
- package/dist/types/slash-menu.d.ts.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/collect-command-items.d.ts +4 -0
- package/dist/utils/collect-command-items.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Globe } from "lucide-react";
|
|
3
3
|
import { useState, useEffect } from "react";
|
|
4
|
-
import { o as getHostname, p as probeFavicon } from "./favicon-
|
|
4
|
+
import { o as getHostname, p as probeFavicon } from "./favicon-DUlhCRKH.js";
|
|
5
5
|
function RubyRenderer({ reading, children }) {
|
|
6
6
|
if (!reading) {
|
|
7
7
|
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
@@ -12,7 +12,7 @@ import { ListPlugin } from "@lexical/react/LexicalListPlugin";
|
|
|
12
12
|
import { RichTextPlugin } from "@lexical/react/LexicalRichTextPlugin";
|
|
13
13
|
import { TabIndentationPlugin } from "@lexical/react/LexicalTabIndentationPlugin";
|
|
14
14
|
import { TablePlugin } from "@lexical/react/LexicalTablePlugin";
|
|
15
|
-
import { a2 as $isAlertQuoteNode, d as RendererWrapper, a3 as AlertRenderer, a4 as SpoilerNode, X as MentionNode, a5 as FootnoteNode, T as KaTeXInlineNode, a6 as AlertQuoteNode, f as editorTheme, a7 as $isBannerNode, a8 as BannerRenderer, a9 as BannerNode, aa as normalizeBannerType, ab as $isCodeBlockNode, ac as CodeBlockRenderer, ad as CodeBlockNode, i as useFootnoteDefinitions, M as FootnoteSectionNode, y as $isGridContainerNode, P as GridContainerNode, b as builtinNodes, S as KaTeXBlockNode, Q as ImageNode, ae as VideoNode, V as LinkCardNode, af as DetailsNode, Y as MermaidNode, _ as RubyNode, F as FootnoteDefinitionsProvider, r as $createImageNode, a0 as computeImageMeta, Z as OPEN_IMAGE_UPLOAD_DIALOG_COMMAND, ag as $createKaTeXInlineNode, ah as $createKaTeXBlockNode, o as getHostname, p as probeFavicon, ai as $createDetailsNode, aj as $createFootnoteNode, x as $isFootnoteSectionNode, $ as $createFootnoteSectionNode, t as $createMentionNode, g as extractTextContent, w as $createRubyNode, ak as $createSpoilerNode, v as $createMermaidNode, C as ColorSchemeProvider, R as RendererConfigProvider } from "./favicon-
|
|
15
|
+
import { a2 as $isAlertQuoteNode, d as RendererWrapper, a3 as AlertRenderer, a4 as SpoilerNode, X as MentionNode, a5 as FootnoteNode, T as KaTeXInlineNode, a6 as AlertQuoteNode, f as editorTheme, a7 as $isBannerNode, a8 as BannerRenderer, a9 as BannerNode, aa as normalizeBannerType, ab as $isCodeBlockNode, ac as CodeBlockRenderer, ad as CodeBlockNode, i as useFootnoteDefinitions, M as FootnoteSectionNode, y as $isGridContainerNode, P as GridContainerNode, b as builtinNodes, S as KaTeXBlockNode, Q as ImageNode, ae as VideoNode, V as LinkCardNode, af as DetailsNode, Y as MermaidNode, _ as RubyNode, F as FootnoteDefinitionsProvider, r as $createImageNode, a0 as computeImageMeta, Z as OPEN_IMAGE_UPLOAD_DIALOG_COMMAND, ag as $createKaTeXInlineNode, ah as $createKaTeXBlockNode, o as getHostname, p as probeFavicon, ai as $createDetailsNode, aj as $createFootnoteNode, x as $isFootnoteSectionNode, $ as $createFootnoteSectionNode, t as $createMentionNode, g as extractTextContent, w as $createRubyNode, ak as $createSpoilerNode, v as $createMermaidNode, C as ColorSchemeProvider, R as RendererConfigProvider } from "./favicon-DUlhCRKH.js";
|
|
16
16
|
import { $getNodeByKey, KEY_ENTER_COMMAND, COMMAND_PRIORITY_CRITICAL, KEY_ARROW_DOWN_COMMAND, COMMAND_PRIORITY_HIGH, $getRoot, $createParagraphNode, $isParagraphNode, $getSelection, $isRangeSelection, $insertNodes, createEditor, $isElementNode, $isDecoratorNode, $createNodeSelection, $setSelection, $nodesOfType, createCommand, COMMAND_PRIORITY_EDITOR, $isRootNode, $isNodeSelection, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, KEY_ARROW_UP_COMMAND, $isTextNode, createState, $getState, $addUpdateTag, $setState, $parseSerializedNode, COMMAND_PRIORITY_LOW, PASTE_COMMAND, $createTextNode, $createLineBreakNode } from "lexical";
|
|
17
17
|
import { Info, Lightbulb, TriangleAlert, Flag, LayoutGrid, Plus, Minus, Check, Upload, Link2 } from "lucide-react";
|
|
18
18
|
import { useCallback, useEffect, createElement, useState, createContext, use, useRef, useMemo } from "react";
|
|
@@ -30,8 +30,8 @@ import { nanoid } from "nanoid";
|
|
|
30
30
|
import { HORIZONTAL_RULE_BLOCK_TRANSFORMER as HORIZONTAL_RULE_BLOCK_TRANSFORMER$1, GIT_ALERT_TRANSFORMER as GIT_ALERT_TRANSFORMER$1, CONTAINER_TRANSFORMER as CONTAINER_TRANSFORMER$1, FOOTNOTE_TRANSFORMER as FOOTNOTE_TRANSFORMER$1, FOOTNOTE_SECTION_TRANSFORMER as FOOTNOTE_SECTION_TRANSFORMER$1, KATEX_INLINE_TRANSFORMER as KATEX_INLINE_TRANSFORMER$1, KATEX_BLOCK_TRANSFORMER as KATEX_BLOCK_TRANSFORMER$1, MENTION_TRANSFORMER as MENTION_TRANSFORMER$1, RUBY_TRANSFORMER as RUBY_TRANSFORMER$1, SPOILER_TRANSFORMER as SPOILER_TRANSFORMER$1, INSERT_TRANSFORMER, SUPERSCRIPT_TRANSFORMER, SUBSCRIPT_TRANSFORMER, IMAGE_BLOCK_TRANSFORMER, VIDEO_BLOCK_TRANSFORMER, CODE_BLOCK_NODE_TRANSFORMER, LINK_CARD_BLOCK_TRANSFORMER, MERMAID_BLOCK_TRANSFORMER, TABLE_BLOCK_TRANSFORMER } from "@haklex/rich-headless/transformers";
|
|
31
31
|
import { Dialog, DialogPopup, DialogTitle, SegmentedControl } from "@haklex/rich-editor-ui";
|
|
32
32
|
import { b as clsx, g as getVariantClass } from "./utils-fpeaZV1R.js";
|
|
33
|
+
import { CHECK_LIST, TRANSFORMERS, QUOTE, CODE, $convertFromMarkdownString } from "@lexical/markdown";
|
|
33
34
|
import { MarkdownShortcutPlugin } from "@lexical/react/LexicalMarkdownShortcutPlugin";
|
|
34
|
-
import { CHECK_LIST, TRANSFORMERS, QUOTE, CODE } from "@lexical/markdown";
|
|
35
35
|
function ExitBlockPlugin({
|
|
36
36
|
parentEditor,
|
|
37
37
|
nodeKey
|
|
@@ -254,13 +254,15 @@ const _AlertQuoteEditNode = class _AlertQuoteEditNode extends AlertQuoteNode {
|
|
|
254
254
|
});
|
|
255
255
|
}
|
|
256
256
|
};
|
|
257
|
-
__publicField(_AlertQuoteEditNode, "
|
|
257
|
+
__publicField(_AlertQuoteEditNode, "commandItems", [
|
|
258
258
|
{
|
|
259
259
|
title: "Callout",
|
|
260
260
|
icon: createElement(Info, { size: 20 }),
|
|
261
261
|
description: "Info callout block",
|
|
262
262
|
keywords: ["alert", "note", "info", "callout"],
|
|
263
263
|
section: "ADVANCED",
|
|
264
|
+
placement: ["slash", "toolbar"],
|
|
265
|
+
group: "insert",
|
|
264
266
|
onSelect: (editor) => {
|
|
265
267
|
editor.update(() => {
|
|
266
268
|
$insertNodes([$createAlertQuoteEditNode("note")]);
|
|
@@ -273,6 +275,8 @@ __publicField(_AlertQuoteEditNode, "slashMenuItems", [
|
|
|
273
275
|
description: "Highlight a useful tip",
|
|
274
276
|
keywords: ["alert", "tip", "hint"],
|
|
275
277
|
section: "ADVANCED",
|
|
278
|
+
placement: ["slash", "toolbar"],
|
|
279
|
+
group: "insert",
|
|
276
280
|
onSelect: (editor) => {
|
|
277
281
|
editor.update(() => {
|
|
278
282
|
$insertNodes([$createAlertQuoteEditNode("tip")]);
|
|
@@ -285,6 +289,8 @@ __publicField(_AlertQuoteEditNode, "slashMenuItems", [
|
|
|
285
289
|
description: "Warn about something",
|
|
286
290
|
keywords: ["alert", "warning", "caution"],
|
|
287
291
|
section: "ADVANCED",
|
|
292
|
+
placement: ["slash", "toolbar"],
|
|
293
|
+
group: "insert",
|
|
288
294
|
onSelect: (editor) => {
|
|
289
295
|
editor.update(() => {
|
|
290
296
|
$insertNodes([$createAlertQuoteEditNode("warning")]);
|
|
@@ -418,13 +424,15 @@ const _BannerEditNode = class _BannerEditNode extends BannerNode {
|
|
|
418
424
|
});
|
|
419
425
|
}
|
|
420
426
|
};
|
|
421
|
-
__publicField(_BannerEditNode, "
|
|
427
|
+
__publicField(_BannerEditNode, "commandItems", [
|
|
422
428
|
{
|
|
423
429
|
title: "Banner",
|
|
424
430
|
icon: createElement(Flag, { size: 20 }),
|
|
425
431
|
description: "Highlighted banner block",
|
|
426
432
|
keywords: ["banner", "notice", "announcement"],
|
|
427
433
|
section: "ADVANCED",
|
|
434
|
+
placement: ["slash", "toolbar"],
|
|
435
|
+
group: "insert",
|
|
428
436
|
onSelect: (editor) => {
|
|
429
437
|
editor.update(() => {
|
|
430
438
|
$insertNodes([$createBannerEditNode("note")]);
|
|
@@ -600,7 +608,7 @@ const _CodeBlockEditNode = class _CodeBlockEditNode extends CodeBlockNode {
|
|
|
600
608
|
});
|
|
601
609
|
}
|
|
602
610
|
};
|
|
603
|
-
__publicField(_CodeBlockEditNode, "
|
|
611
|
+
__publicField(_CodeBlockEditNode, "commandItems", CodeBlockNode.commandItems.map((item) => ({
|
|
604
612
|
...item,
|
|
605
613
|
onSelect: (editor) => {
|
|
606
614
|
editor.update(() => {
|
|
@@ -609,6 +617,9 @@ __publicField(_CodeBlockEditNode, "slashMenuItems", CodeBlockNode.slashMenuItems
|
|
|
609
617
|
}
|
|
610
618
|
})));
|
|
611
619
|
let CodeBlockEditNode = _CodeBlockEditNode;
|
|
620
|
+
function $createCodeBlockEditNode(code, language) {
|
|
621
|
+
return new CodeBlockEditNode(code, language);
|
|
622
|
+
}
|
|
612
623
|
function FootnoteSectionEditRenderer({
|
|
613
624
|
definitions
|
|
614
625
|
}) {
|
|
@@ -2454,6 +2465,112 @@ const ALL_TRANSFORMERS = [
|
|
|
2454
2465
|
QUOTE_TRANSFORMER,
|
|
2455
2466
|
...TRANSFORMERS.filter((t) => t !== QUOTE && t !== CODE)
|
|
2456
2467
|
];
|
|
2468
|
+
function getVSCodePasteData(clipboardData) {
|
|
2469
|
+
const raw = clipboardData.getData("vscode-editor-data");
|
|
2470
|
+
if (!raw) return null;
|
|
2471
|
+
try {
|
|
2472
|
+
const data = JSON.parse(raw);
|
|
2473
|
+
return { language: data.mode || "text" };
|
|
2474
|
+
} catch {
|
|
2475
|
+
return null;
|
|
2476
|
+
}
|
|
2477
|
+
}
|
|
2478
|
+
function hasRichHTML(clipboardData) {
|
|
2479
|
+
const html = clipboardData.getData("text/html");
|
|
2480
|
+
if (!html) return false;
|
|
2481
|
+
if (/data-vscode|vscode-/i.test(html)) return false;
|
|
2482
|
+
const doc = new DOMParser().parseFromString(html, "text/html");
|
|
2483
|
+
const richTags = doc.body.querySelectorAll(
|
|
2484
|
+
"strong,em,b,i,h1,h2,h3,h4,h5,h6,ul,ol,table,img,blockquote,pre>code,a[href]"
|
|
2485
|
+
);
|
|
2486
|
+
return richTags.length > 0;
|
|
2487
|
+
}
|
|
2488
|
+
function detectMarkdown(text) {
|
|
2489
|
+
let score = 0;
|
|
2490
|
+
if (/^#{1,6}\s+\S/m.test(text)) score += 5;
|
|
2491
|
+
if (/^```[\w-]*$/m.test(text)) score += 5;
|
|
2492
|
+
if (/\[.+?\]\(.+?\)/.test(text)) score += 4;
|
|
2493
|
+
if (/!\[.*?\]\(.+?\)/.test(text)) score += 5;
|
|
2494
|
+
if (/^\|.+\|$/m.test(text) && /^\|[-:\s|]+\|$/m.test(text)) score += 5;
|
|
2495
|
+
if (/^>\s*\[!(?:NOTE|TIP|WARNING|CAUTION|IMPORTANT)\]/im.test(text))
|
|
2496
|
+
score += 5;
|
|
2497
|
+
if (/^[-*]\s+\[[ x]\]/m.test(text)) score += 4;
|
|
2498
|
+
if (/\*\*.+?\*\*/.test(text)) score += 2;
|
|
2499
|
+
if (/(?<!\*)\*(?!\*)(?!\s).+?(?<!\s)(?<!\*)\*(?!\*)/.test(text)) score += 1;
|
|
2500
|
+
if (/^[-*+]\s+\S/m.test(text)) score += 1;
|
|
2501
|
+
if (/^\d+\.\s+\S/m.test(text)) score += 1;
|
|
2502
|
+
if (/^>\s+\S/m.test(text)) score += 1;
|
|
2503
|
+
if (/`.+?`/.test(text)) score += 1;
|
|
2504
|
+
if (/^[-*_]{3,}$/m.test(text)) score += 2;
|
|
2505
|
+
const paragraphs = text.split(/\n{2,}/).filter(Boolean);
|
|
2506
|
+
if (paragraphs.length >= 3) score += 2;
|
|
2507
|
+
if (text.length < 20) score -= 3;
|
|
2508
|
+
if (!text.includes("\n")) score -= 2;
|
|
2509
|
+
return score >= 5;
|
|
2510
|
+
}
|
|
2511
|
+
function convertAndInsert(markdown) {
|
|
2512
|
+
const tempEditor = createEditor({
|
|
2513
|
+
namespace: "markdown-paste-temp",
|
|
2514
|
+
nodes: getResolvedEditNodes(),
|
|
2515
|
+
onError: () => {
|
|
2516
|
+
}
|
|
2517
|
+
});
|
|
2518
|
+
tempEditor.update(
|
|
2519
|
+
() => {
|
|
2520
|
+
$convertFromMarkdownString(markdown, ALL_TRANSFORMERS);
|
|
2521
|
+
},
|
|
2522
|
+
{ discrete: true }
|
|
2523
|
+
);
|
|
2524
|
+
const serializedChildren = tempEditor.getEditorState().toJSON().root.children;
|
|
2525
|
+
const nodes = serializedChildren.map(
|
|
2526
|
+
(s) => $parseSerializedNode(s)
|
|
2527
|
+
);
|
|
2528
|
+
$insertNodes(nodes);
|
|
2529
|
+
}
|
|
2530
|
+
function MarkdownPastePlugin() {
|
|
2531
|
+
const [editor] = useLexicalComposerContext();
|
|
2532
|
+
useEffect(() => {
|
|
2533
|
+
return editor.registerCommand(
|
|
2534
|
+
PASTE_COMMAND,
|
|
2535
|
+
(event) => {
|
|
2536
|
+
const clipboardData = "clipboardData" in event ? event.clipboardData : null;
|
|
2537
|
+
if (!clipboardData) return false;
|
|
2538
|
+
if (Array.from(clipboardData.files).some(
|
|
2539
|
+
(f) => f.type.startsWith("image/")
|
|
2540
|
+
))
|
|
2541
|
+
return false;
|
|
2542
|
+
const vscodeData = getVSCodePasteData(clipboardData);
|
|
2543
|
+
if (vscodeData) {
|
|
2544
|
+
const code = clipboardData.getData("text/plain");
|
|
2545
|
+
if (code) {
|
|
2546
|
+
const segments = code.split(/\r?\n{3,}/).filter(Boolean);
|
|
2547
|
+
const nodes = segments.map(
|
|
2548
|
+
(s) => $createCodeBlockEditNode(
|
|
2549
|
+
s.replace(/^\s*\n/, "").replace(/\n\s*$/, ""),
|
|
2550
|
+
vscodeData.language
|
|
2551
|
+
)
|
|
2552
|
+
);
|
|
2553
|
+
$insertNodes(nodes);
|
|
2554
|
+
event.preventDefault();
|
|
2555
|
+
return true;
|
|
2556
|
+
}
|
|
2557
|
+
}
|
|
2558
|
+
if (hasRichHTML(clipboardData)) return false;
|
|
2559
|
+
const text = clipboardData.getData("text/plain");
|
|
2560
|
+
if (!text || !detectMarkdown(text)) return false;
|
|
2561
|
+
try {
|
|
2562
|
+
event.preventDefault();
|
|
2563
|
+
convertAndInsert(text);
|
|
2564
|
+
return true;
|
|
2565
|
+
} catch {
|
|
2566
|
+
return false;
|
|
2567
|
+
}
|
|
2568
|
+
},
|
|
2569
|
+
COMMAND_PRIORITY_HIGH
|
|
2570
|
+
);
|
|
2571
|
+
}, [editor]);
|
|
2572
|
+
return null;
|
|
2573
|
+
}
|
|
2457
2574
|
function MarkdownShortcutsPlugin() {
|
|
2458
2575
|
return /* @__PURE__ */ jsx(MarkdownShortcutPlugin, { transformers: ALL_TRANSFORMERS });
|
|
2459
2576
|
}
|
|
@@ -2519,13 +2636,19 @@ function SubmitShortcutPlugin({ onSubmit }) {
|
|
|
2519
2636
|
}
|
|
2520
2637
|
function ContentEditable({
|
|
2521
2638
|
className,
|
|
2522
|
-
placeholder
|
|
2639
|
+
placeholder,
|
|
2640
|
+
hasHeader
|
|
2523
2641
|
}) {
|
|
2642
|
+
const paddingTop = hasHeader ? 40 : 12;
|
|
2524
2643
|
return /* @__PURE__ */ jsx(
|
|
2525
2644
|
"div",
|
|
2526
2645
|
{
|
|
2527
2646
|
className: "rich-editor__content-wrapper",
|
|
2528
|
-
style: {
|
|
2647
|
+
style: {
|
|
2648
|
+
position: "relative",
|
|
2649
|
+
maxWidth: "var(--rc-max-width, none)",
|
|
2650
|
+
margin: "0 auto"
|
|
2651
|
+
},
|
|
2529
2652
|
children: /* @__PURE__ */ jsx(
|
|
2530
2653
|
ContentEditable$1,
|
|
2531
2654
|
{
|
|
@@ -2533,7 +2656,7 @@ function ContentEditable({
|
|
|
2533
2656
|
style: {
|
|
2534
2657
|
outline: "none",
|
|
2535
2658
|
minHeight: "100px",
|
|
2536
|
-
padding:
|
|
2659
|
+
padding: `${paddingTop}px 16px 12px`
|
|
2537
2660
|
},
|
|
2538
2661
|
"aria-placeholder": placeholder ?? "",
|
|
2539
2662
|
placeholder: /* @__PURE__ */ jsx(
|
|
@@ -2542,8 +2665,8 @@ function ContentEditable({
|
|
|
2542
2665
|
className: "rich-editor__placeholder",
|
|
2543
2666
|
style: {
|
|
2544
2667
|
position: "absolute",
|
|
2545
|
-
top:
|
|
2546
|
-
left:
|
|
2668
|
+
top: paddingTop,
|
|
2669
|
+
left: 16,
|
|
2547
2670
|
color: "var(--rich-editor-text-secondary, #999)",
|
|
2548
2671
|
pointerEvents: "none",
|
|
2549
2672
|
userSelect: "none",
|
|
@@ -2569,6 +2692,7 @@ function RichEditor({
|
|
|
2569
2692
|
contentClassName,
|
|
2570
2693
|
style,
|
|
2571
2694
|
actions,
|
|
2695
|
+
header,
|
|
2572
2696
|
onEditorReady,
|
|
2573
2697
|
extraNodes,
|
|
2574
2698
|
rendererConfig,
|
|
@@ -2600,10 +2724,11 @@ function RichEditor({
|
|
|
2600
2724
|
"div",
|
|
2601
2725
|
{
|
|
2602
2726
|
className: clsx("rich-editor", variantClass, className),
|
|
2603
|
-
style,
|
|
2727
|
+
style: { ...style, maxWidth: "none" },
|
|
2604
2728
|
"data-theme": theme,
|
|
2605
2729
|
suppressHydrationWarning: true,
|
|
2606
2730
|
children: [
|
|
2731
|
+
header,
|
|
2607
2732
|
/* @__PURE__ */ jsx(
|
|
2608
2733
|
RichTextPlugin,
|
|
2609
2734
|
{
|
|
@@ -2611,7 +2736,8 @@ function RichEditor({
|
|
|
2611
2736
|
ContentEditable,
|
|
2612
2737
|
{
|
|
2613
2738
|
className: contentClassName,
|
|
2614
|
-
placeholder
|
|
2739
|
+
placeholder,
|
|
2740
|
+
hasHeader: !!header
|
|
2615
2741
|
}
|
|
2616
2742
|
),
|
|
2617
2743
|
ErrorBoundary: LexicalErrorBoundary
|
|
@@ -2623,6 +2749,7 @@ function RichEditor({
|
|
|
2623
2749
|
/* @__PURE__ */ jsx(TabIndentationPlugin, {}),
|
|
2624
2750
|
/* @__PURE__ */ jsx(TablePlugin, {}),
|
|
2625
2751
|
/* @__PURE__ */ jsx(MarkdownShortcutsPlugin, {}),
|
|
2752
|
+
/* @__PURE__ */ jsx(MarkdownPastePlugin, {}),
|
|
2626
2753
|
/* @__PURE__ */ jsx(OnChangePlugin, { onChange, debounceMs }),
|
|
2627
2754
|
/* @__PURE__ */ jsx(SubmitShortcutPlugin, { onSubmit }),
|
|
2628
2755
|
/* @__PURE__ */ jsx(ImagePlugin, {}),
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
interface ContentEditableProps {
|
|
2
2
|
className?: string;
|
|
3
3
|
placeholder?: string;
|
|
4
|
+
hasHeader?: boolean;
|
|
4
5
|
}
|
|
5
|
-
export declare function ContentEditable({ className, placeholder, }: ContentEditableProps): import("react").JSX.Element;
|
|
6
|
+
export declare function ContentEditable({ className, placeholder, hasHeader, }: ContentEditableProps): import("react").JSX.Element;
|
|
6
7
|
export {};
|
|
7
8
|
//# sourceMappingURL=ContentEditable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentEditable.d.ts","sourceRoot":"","sources":["../../src/components/ContentEditable.tsx"],"names":[],"mappings":"AAIA,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ContentEditable.d.ts","sourceRoot":"","sources":["../../src/components/ContentEditable.tsx"],"names":[],"mappings":"AAIA,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,oBAAoB,+BAsCtB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { RichEditorProps } from '../types';
|
|
2
|
-
export declare function RichEditor({ initialValue, onChange, variant, theme, placeholder, onSubmit, autoFocus, className, contentClassName, style, actions, onEditorReady, extraNodes, rendererConfig, imageUpload, debounceMs, children, }: RichEditorProps): import("react").JSX.Element;
|
|
2
|
+
export declare function RichEditor({ initialValue, onChange, variant, theme, placeholder, onSubmit, autoFocus, className, contentClassName, style, actions, header, onEditorReady, extraNodes, rendererConfig, imageUpload, debounceMs, children, }: RichEditorProps): import("react").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=RichEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichEditor.d.ts","sourceRoot":"","sources":["../../src/components/RichEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RichEditor.d.ts","sourceRoot":"","sources":["../../src/components/RichEditor.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI/C,wBAAgB,UAAU,CAAC,EACzB,YAAY,EACZ,QAAQ,EACR,OAAmB,EACnB,KAAe,EACf,WAAkC,EAClC,QAAQ,EACR,SAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,MAAM,EACN,aAAa,EACb,UAAU,EACV,cAAc,EACd,WAAW,EACX,UAAU,EACV,QAAQ,GACT,EAAE,eAAe,+BA+EjB"}
|
package/dist/editor.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R, a, c, g, s } from "./RichEditor-
|
|
2
|
-
import { a as a2, b, c as c2 } from "./favicon-
|
|
1
|
+
import { R, a, c, g, s } from "./RichEditor-DrVz6HFa.js";
|
|
2
|
+
import { a as a2, b, c as c2 } from "./favicon-DUlhCRKH.js";
|
|
3
3
|
export {
|
|
4
4
|
R as RichEditor,
|
|
5
5
|
a as allEditNodes,
|
|
@@ -520,13 +520,15 @@ const _CodeBlockNode = class _CodeBlockNode extends DecoratorNode {
|
|
|
520
520
|
});
|
|
521
521
|
}
|
|
522
522
|
};
|
|
523
|
-
__publicField(_CodeBlockNode, "
|
|
523
|
+
__publicField(_CodeBlockNode, "commandItems", [
|
|
524
524
|
{
|
|
525
525
|
title: "Code Block",
|
|
526
526
|
icon: createElement(Code, { size: 20 }),
|
|
527
527
|
description: "Syntax-highlighted code",
|
|
528
528
|
keywords: ["code", "snippet", "codeblock"],
|
|
529
529
|
section: "MEDIA",
|
|
530
|
+
placement: ["slash", "toolbar"],
|
|
531
|
+
group: "insert",
|
|
530
532
|
onSelect: (editor) => {
|
|
531
533
|
editor.update(() => {
|
|
532
534
|
$insertNodes([$createCodeBlockNode("", "text")]);
|
|
@@ -1436,13 +1438,15 @@ const _ImageNode = class _ImageNode extends DecoratorNode {
|
|
|
1436
1438
|
});
|
|
1437
1439
|
}
|
|
1438
1440
|
};
|
|
1439
|
-
__publicField(_ImageNode, "
|
|
1441
|
+
__publicField(_ImageNode, "commandItems", [
|
|
1440
1442
|
{
|
|
1441
1443
|
title: "Image",
|
|
1442
1444
|
icon: createElement(ImageIcon, { size: 20 }),
|
|
1443
1445
|
description: "Upload or embed an image",
|
|
1444
1446
|
keywords: ["image", "picture", "photo"],
|
|
1445
1447
|
section: "MEDIA",
|
|
1448
|
+
placement: ["slash", "toolbar"],
|
|
1449
|
+
group: "insert",
|
|
1446
1450
|
onSelect: (editor) => {
|
|
1447
1451
|
const opened = editor.dispatchCommand(
|
|
1448
1452
|
OPEN_IMAGE_UPLOAD_DIALOG_COMMAND,
|
|
@@ -1776,13 +1780,15 @@ const _LinkCardNode = class _LinkCardNode extends DecoratorNode {
|
|
|
1776
1780
|
});
|
|
1777
1781
|
}
|
|
1778
1782
|
};
|
|
1779
|
-
__publicField(_LinkCardNode, "
|
|
1783
|
+
__publicField(_LinkCardNode, "commandItems", [
|
|
1780
1784
|
{
|
|
1781
1785
|
title: "Link Card",
|
|
1782
1786
|
icon: createElement(Link, { size: 20 }),
|
|
1783
1787
|
description: "Link preview card",
|
|
1784
1788
|
keywords: ["link", "card", "bookmark", "embed"],
|
|
1785
1789
|
section: "MEDIA",
|
|
1790
|
+
placement: ["slash", "toolbar"],
|
|
1791
|
+
group: "insert",
|
|
1786
1792
|
onSelect: (editor) => {
|
|
1787
1793
|
editor.update(() => {
|
|
1788
1794
|
$insertNodes([$createLinkCardNode({ url: "" })]);
|
|
@@ -1960,13 +1966,15 @@ const _MermaidNode = class _MermaidNode extends DecoratorNode {
|
|
|
1960
1966
|
});
|
|
1961
1967
|
}
|
|
1962
1968
|
};
|
|
1963
|
-
__publicField(_MermaidNode, "
|
|
1969
|
+
__publicField(_MermaidNode, "commandItems", [
|
|
1964
1970
|
{
|
|
1965
1971
|
title: "Mermaid Diagram",
|
|
1966
1972
|
icon: createElement(Workflow, { size: 20 }),
|
|
1967
1973
|
description: "Flowchart, sequence diagram",
|
|
1968
1974
|
keywords: ["mermaid", "diagram", "chart", "flowchart"],
|
|
1969
1975
|
section: "MEDIA",
|
|
1976
|
+
placement: ["slash", "toolbar"],
|
|
1977
|
+
group: "insert",
|
|
1970
1978
|
onSelect: (editor) => {
|
|
1971
1979
|
editor.update(() => {
|
|
1972
1980
|
$insertNodes([
|
|
@@ -2244,13 +2252,15 @@ const _VideoNode = class _VideoNode extends DecoratorNode {
|
|
|
2244
2252
|
});
|
|
2245
2253
|
}
|
|
2246
2254
|
};
|
|
2247
|
-
__publicField(_VideoNode, "
|
|
2255
|
+
__publicField(_VideoNode, "commandItems", [
|
|
2248
2256
|
{
|
|
2249
2257
|
title: "Video",
|
|
2250
2258
|
icon: createElement(Video, { size: 20 }),
|
|
2251
2259
|
description: "Embed a video",
|
|
2252
2260
|
keywords: ["video", "media", "mp4"],
|
|
2253
2261
|
section: "MEDIA",
|
|
2262
|
+
placement: ["slash", "toolbar"],
|
|
2263
|
+
group: "insert",
|
|
2254
2264
|
onSelect: (editor) => {
|
|
2255
2265
|
editor.update(() => {
|
|
2256
2266
|
$insertNodes([$createVideoNode({ src: "" })]);
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export * from './styles';
|
|
|
12
12
|
export { ALL_TRANSFORMERS } from './transformers';
|
|
13
13
|
export type { RichEditorProps, RichEditorVariant } from './types';
|
|
14
14
|
export type { RendererConfig } from './types/renderer-config';
|
|
15
|
-
export type { SlashMenuItemConfig } from './types/slash-menu';
|
|
15
|
+
export type { CommandItemConfig, CommandPlacement, SlashMenuItemConfig, ToolbarGroup, } from './types/slash-menu';
|
|
16
16
|
export { createRendererDecoration } from './components/RendererWrapper';
|
|
17
17
|
export { getVariantClass } from './components/utils';
|
|
18
18
|
export { useRendererConfig } from './context/RendererConfigContext';
|
|
@@ -72,6 +72,7 @@ export type { RenderEditorStateFn } from './context/NestedContentRendererContext
|
|
|
72
72
|
export { NestedContentRendererProvider, useNestedContentRenderer, } from './context/NestedContentRendererContext';
|
|
73
73
|
export type { FootnoteStaticRendererProps } from './components/renderers/FootnoteStaticRenderer';
|
|
74
74
|
export { FootnoteStaticRenderer } from './components/renderers/FootnoteStaticRenderer';
|
|
75
|
+
export { collectCommandItems } from './utils/collect-command-items';
|
|
75
76
|
export { extractTextContent } from './utils/extractTextContent';
|
|
76
77
|
export type { LinkFaviconProps } from './components/LinkFavicon';
|
|
77
78
|
export { LinkFavicon } from './components/LinkFavicon';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EACL,mBAAmB,EACnB,cAAc,GACf,MAAM,8BAA8B,CAAA;AACrC,YAAY,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AAC3F,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC7E,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { b as blockIdState } from "./RichEditor-
|
|
2
|
-
import { A, F, d, I, e, f, h, i, N, R, a, c, j, g, s, u } from "./RichEditor-
|
|
3
|
-
import { h as useFootnoteContent, j as useFootnoteDisplayNumber } from "./favicon-
|
|
4
|
-
import { $, q, r, s as s2, t, v, w, x, y, z, A as A2, B, D, E, G, H, I as I2, J, K, L, C, F as F2, M, O, P, Q, S, T, U, V, W, X, Y, N as N2, Z, _, a as a2, b, a0, e as e2, c as c2, a1, f as f2, g as g2, u as u2, i as i2, k, l, m, n } from "./favicon-
|
|
1
|
+
import { b as blockIdState } from "./RichEditor-DrVz6HFa.js";
|
|
2
|
+
import { A, F, d, I, e, f, h, i, N, R, a, c, j, g, s, u } from "./RichEditor-DrVz6HFa.js";
|
|
3
|
+
import { h as useFootnoteContent, j as useFootnoteDisplayNumber } from "./favicon-DUlhCRKH.js";
|
|
4
|
+
import { $, q, r, s as s2, t, v, w, x, y, z, A as A2, B, D, E, G, H, I as I2, J, K, L, C, F as F2, M, O, P, Q, S, T, U, V, W, X, Y, N as N2, Z, _, a as a2, b, a0, e as e2, c as c2, a1, f as f2, g as g2, u as u2, i as i2, k, l, m, n } from "./favicon-DUlhCRKH.js";
|
|
5
5
|
import { a as a3, c as c3, g as g3, n as n2 } from "./utils-fpeaZV1R.js";
|
|
6
6
|
import { r as r2 } from "./shared.css-BqX4HjVE.js";
|
|
7
7
|
import { articleTheme, commentTheme, noteTheme, vars } from "@haklex/rich-style-token";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { TooltipRoot, TooltipTrigger, TooltipContent } from "@haklex/rich-editor-ui";
|
|
10
10
|
import { useCallback } from "react";
|
|
11
|
-
import { L as L2, R as R2 } from "./LinkFavicon-
|
|
11
|
+
import { L as L2, R as R2 } from "./LinkFavicon-K7OT0XLj.js";
|
|
12
12
|
import { $getRoot, $getSelection, $isRangeSelection, $getState, $isElementNode, $isTextNode, $isLineBreakNode } from "lexical";
|
|
13
13
|
function FootnoteRenderer({ identifier }) {
|
|
14
14
|
const content = useFootnoteContent(identifier);
|
|
@@ -52,6 +52,19 @@ function FootnoteRenderer({ identifier }) {
|
|
|
52
52
|
content ? /* @__PURE__ */ jsx(TooltipContent, { children: content }) : null
|
|
53
53
|
] }) });
|
|
54
54
|
}
|
|
55
|
+
function collectCommandItems(editor) {
|
|
56
|
+
const items = [];
|
|
57
|
+
const nodes = editor._nodes;
|
|
58
|
+
for (const { klass } of nodes.values()) {
|
|
59
|
+
const configs = klass.commandItems ?? klass.slashMenuItems;
|
|
60
|
+
if (configs) {
|
|
61
|
+
for (const config of configs) {
|
|
62
|
+
items.push(config);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return items;
|
|
67
|
+
}
|
|
55
68
|
function computeBlockFingerprint(block) {
|
|
56
69
|
const text = block.getTextContent();
|
|
57
70
|
const input = text.slice(0, 200) + String(text.length);
|
|
@@ -265,6 +278,7 @@ export {
|
|
|
265
278
|
buildBlockAnchor,
|
|
266
279
|
buildRangeAnchor,
|
|
267
280
|
b as builtinNodes,
|
|
281
|
+
collectCommandItems,
|
|
268
282
|
commentTheme,
|
|
269
283
|
c3 as commentVariant,
|
|
270
284
|
a0 as computeImageMeta,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { EditorConfig, LexicalEditor, SerializedEditorState } from 'lexical';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { CommandItemConfig } from '../types/slash-menu';
|
|
4
4
|
import { AlertQuoteNode, AlertType, SerializedAlertQuoteNode } from './AlertQuoteNode';
|
|
5
5
|
export declare class AlertQuoteEditNode extends AlertQuoteNode {
|
|
6
6
|
__contentEditor: LexicalEditor;
|
|
7
|
-
static
|
|
7
|
+
static commandItems: CommandItemConfig[];
|
|
8
8
|
static clone(node: AlertQuoteEditNode): AlertQuoteEditNode;
|
|
9
9
|
constructor(alertType: AlertType, contentState?: SerializedEditorState, key?: string);
|
|
10
10
|
getContentEditor(): LexicalEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertQuoteEditNode.d.ts","sourceRoot":"","sources":["../../src/nodes/AlertQuoteEditNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAOhB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"AlertQuoteEditNode.d.ts","sourceRoot":"","sources":["../../src/nodes/AlertQuoteEditNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAOhB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EACL,cAAc,EACd,KAAK,SAAS,EACd,KAAK,wBAAwB,EAC9B,MAAM,kBAAkB,CAAA;AAczB,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,eAAe,EAAE,aAAa,CAAA;IAE9B,MAAM,CAAC,YAAY,EAAE,iBAAiB,EAAE,CA2CvC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,GAAG,kBAAkB;gBAWxD,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,qBAAqB,EACpC,GAAG,CAAC,EAAE,MAAM;IAUd,gBAAgB,IAAI,aAAa;IAIjC,MAAM,CAAC,UAAU,CACf,cAAc,EAAE,wBAAwB,GACvC,kBAAkB;IAQrB,UAAU,IAAI,wBAAwB;IAUtC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;CAOtE;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,qBAAqB,GACnC,kBAAkB,CAEpB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { EditorConfig, LexicalEditor, SerializedEditorState } from 'lexical';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { CommandItemConfig } from '../types/slash-menu';
|
|
4
4
|
import { BannerNode, BannerType, SerializedBannerNode } from './BannerNode';
|
|
5
5
|
export declare class BannerEditNode extends BannerNode {
|
|
6
6
|
__contentEditor: LexicalEditor;
|
|
7
|
-
static
|
|
7
|
+
static commandItems: CommandItemConfig[];
|
|
8
8
|
static clone(node: BannerEditNode): BannerEditNode;
|
|
9
9
|
constructor(bannerType: BannerType, contentState?: SerializedEditorState, key?: string);
|
|
10
10
|
getContentEditor(): LexicalEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerEditNode.d.ts","sourceRoot":"","sources":["../../src/nodes/BannerEditNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"BannerEditNode.d.ts","sourceRoot":"","sources":["../../src/nodes/BannerEditNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EACL,UAAU,EACV,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAA;AAkBrB,qBAAa,cAAe,SAAQ,UAAU;IAC5C,eAAe,EAAE,aAAa,CAAA;IAE9B,MAAM,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAevC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc;gBAWhD,UAAU,EAAE,UAAU,EACtB,YAAY,CAAC,EAAE,qBAAqB,EACpC,GAAG,CAAC,EAAE,MAAM;IAUd,gBAAgB,IAAI,aAAa;IAIjC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,oBAAoB,GAAG,cAAc;IAyBvE,UAAU,IAAI,oBAAoB;IAUlC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;CAOtE;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,YAAY,CAAC,EAAE,qBAAqB,GACnC,cAAc,CAEhB"}
|
|
@@ -2,13 +2,18 @@ import { EditorConfig, LexicalEditor } from 'lexical';
|
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
3
|
import { CodeBlockNode, SerializedCodeBlockNode } from './CodeBlockNode';
|
|
4
4
|
export declare class CodeBlockEditNode extends CodeBlockNode {
|
|
5
|
-
static
|
|
5
|
+
static commandItems: {
|
|
6
6
|
onSelect: (editor: LexicalEditor) => void;
|
|
7
7
|
title: string;
|
|
8
8
|
icon?: import('react').ReactNode;
|
|
9
9
|
description?: string;
|
|
10
10
|
keywords?: string[];
|
|
11
11
|
section?: string;
|
|
12
|
+
placement?: import('..').CommandPlacement[];
|
|
13
|
+
group?: import('..').ToolbarGroup;
|
|
14
|
+
shortcut?: string;
|
|
15
|
+
isActive?: (editor: LexicalEditor) => boolean;
|
|
16
|
+
isDisabled?: (editor: LexicalEditor) => boolean;
|
|
12
17
|
}[];
|
|
13
18
|
static clone(node: CodeBlockEditNode): CodeBlockEditNode;
|
|
14
19
|
static importJSON(serializedNode: SerializedCodeBlockNode): CodeBlockEditNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlockEditNode.d.ts","sourceRoot":"","sources":["../../src/nodes/CodeBlockEditNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAIzC,OAAO,EAAE,aAAa,EAAE,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAE7E,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"CodeBlockEditNode.d.ts","sourceRoot":"","sources":["../../src/nodes/CodeBlockEditNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAIzC,OAAO,EAAE,aAAa,EAAE,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAE7E,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,MAAM,CAAC,YAAY;2BAEE,aAAa;;;;;;;;;;;QAK/B;IAEH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB;IAIxD,MAAM,CAAC,UAAU,CACf,cAAc,EAAE,uBAAuB,GACtC,iBAAiB;IAIpB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;CAOtE;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAEnB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedLexicalNode, Spread, DecoratorNode } from 'lexical';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { CommandItemConfig } from '../types/slash-menu';
|
|
4
4
|
export type SerializedCodeBlockNode = Spread<{
|
|
5
5
|
code: string;
|
|
6
6
|
language: string;
|
|
@@ -8,7 +8,7 @@ export type SerializedCodeBlockNode = Spread<{
|
|
|
8
8
|
export declare class CodeBlockNode extends DecoratorNode<ReactElement> {
|
|
9
9
|
__code: string;
|
|
10
10
|
__language: string;
|
|
11
|
-
static
|
|
11
|
+
static commandItems: CommandItemConfig[];
|
|
12
12
|
static getType(): string;
|
|
13
13
|
static clone(node: CodeBlockNode): CodeBlockNode;
|
|
14
14
|
constructor(code: string, language: string, key?: NodeKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlockNode.d.ts","sourceRoot":"","sources":["../../src/nodes/CodeBlockNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"CodeBlockNode.d.ts","sourceRoot":"","sources":["../../src/nodes/CodeBlockNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAC1C;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,EACD,qBAAqB,CACtB,CAAA;AAED,qBAAa,aAAc,SAAQ,aAAa,CAAC,YAAY,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAElB,MAAM,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAevC;IAED,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa;gBAIpC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO;IAMzD,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;IAM7C,SAAS,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO;IAInB,oBAAoB,IAAI,OAAO;IAI/B,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,uBAAuB,GAAG,aAAa;IAIzE,UAAU,IAAI,uBAAuB;IAUrC,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,WAAW,IAAI,MAAM;IAIrB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKnC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;CAMtE;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,aAAa,CAEf;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,aAAa,CAEvB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedLexicalNode, Spread, DecoratorNode } from 'lexical';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { CommandItemConfig } from '../types/slash-menu';
|
|
4
4
|
export type SerializedImageNode = Spread<{
|
|
5
5
|
src: string;
|
|
6
6
|
altText: string;
|
|
@@ -27,7 +27,7 @@ export declare class ImageNode extends DecoratorNode<ReactElement> {
|
|
|
27
27
|
__caption?: string;
|
|
28
28
|
__thumbhash?: string;
|
|
29
29
|
__accent?: string;
|
|
30
|
-
static
|
|
30
|
+
static commandItems: CommandItemConfig[];
|
|
31
31
|
static getType(): string;
|
|
32
32
|
static clone(node: ImageNode): ImageNode;
|
|
33
33
|
constructor(payload: ImageNodePayload, key?: NodeKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageNode.d.ts","sourceRoot":"","sources":["../../src/nodes/ImageNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAMzC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ImageNode.d.ts","sourceRoot":"","sources":["../../src/nodes/ImageNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAMzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,qBAAqB,CACtB,CAAA;AAmBD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,YAAY,CAAC;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,MAAM,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAqBvC;IAED,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;gBAe5B,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO;IAWpD,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;IAM7C,SAAS,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO;IAInB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IAYjE,UAAU,IAAI,mBAAmB;IAejC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAKlC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAMpD,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhC,MAAM,IAAI,MAAM;IAIhB,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;CAWtE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAErE;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,SAAS,CAEnB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedLexicalNode, Spread, DecoratorNode } from 'lexical';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { CommandItemConfig } from '../types/slash-menu';
|
|
4
4
|
export type SerializedLinkCardNode = Spread<{
|
|
5
5
|
url: string;
|
|
6
6
|
source?: string;
|
|
@@ -27,7 +27,7 @@ export declare class LinkCardNode extends DecoratorNode<ReactElement> {
|
|
|
27
27
|
__description?: string;
|
|
28
28
|
__favicon?: string;
|
|
29
29
|
__image?: string;
|
|
30
|
-
static
|
|
30
|
+
static commandItems: CommandItemConfig[];
|
|
31
31
|
static getType(): string;
|
|
32
32
|
static clone(node: LinkCardNode): LinkCardNode;
|
|
33
33
|
constructor(payload: LinkCardNodePayload, key?: NodeKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkCardNode.d.ts","sourceRoot":"","sources":["../../src/nodes/LinkCardNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"LinkCardNode.d.ts","sourceRoot":"","sources":["../../src/nodes/LinkCardNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,sBAAsB,GAAG,MAAM,CACzC;IACE,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,EACD,qBAAqB,CACtB,CAAA;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,YAAa,SAAQ,aAAa,CAAC,YAAY,CAAC;IAC3D,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,MAAM,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAevC;IAED,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY;gBAelC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,OAAO;IAWvD,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;IAM7C,SAAS,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO;IAInB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,sBAAsB,GAAG,YAAY;IAYvE,UAAU,IAAI,sBAAsB;IAepC,MAAM,IAAI,MAAM;IAIhB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB,SAAS,IAAI,MAAM,GAAG,SAAS;IAI/B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAK3C,KAAK,IAAI,MAAM,GAAG,SAAS;IAI3B,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKnC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;CAWtE;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,mBAAmB,GAC3B,YAAY,CAEd;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,YAAY,CAEtB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedLexicalNode, Spread, DecoratorNode } from 'lexical';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { CommandItemConfig } from '../types/slash-menu';
|
|
4
4
|
export type SerializedMermaidNode = Spread<{
|
|
5
5
|
diagram: string;
|
|
6
6
|
}, SerializedLexicalNode>;
|
|
7
7
|
export declare class MermaidNode extends DecoratorNode<ReactElement> {
|
|
8
8
|
__diagram: string;
|
|
9
|
-
static
|
|
9
|
+
static commandItems: CommandItemConfig[];
|
|
10
10
|
static getType(): string;
|
|
11
11
|
static clone(node: MermaidNode): MermaidNode;
|
|
12
12
|
constructor(diagram: string, key?: NodeKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MermaidNode.d.ts","sourceRoot":"","sources":["../../src/nodes/MermaidNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAA+B,aAAa,EAAE,MAAM,SAAS,CAAA;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"MermaidNode.d.ts","sourceRoot":"","sources":["../../src/nodes/MermaidNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAA+B,aAAa,EAAE,MAAM,SAAS,CAAA;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,qBAAqB,GAAG,MAAM,CACxC;IACE,OAAO,EAAE,MAAM,CAAA;CAChB,EACD,qBAAqB,CACtB,CAAA;AAED,qBAAa,WAAY,SAAQ,aAAa,CAAC,YAAY,CAAC;IAC1D,SAAS,EAAE,MAAM,CAAA;IAEjB,MAAM,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAiBvC;IAED,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW;gBAIhC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO;IAK1C,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;IAM7C,SAAS,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO;IAInB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,qBAAqB,GAAG,WAAW;IAIrE,UAAU,IAAI,qBAAqB;IASnC,UAAU,IAAI,MAAM;IAIpB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjC,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;CAcrE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAE/D;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,WAAW,CAErB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedLexicalNode, Spread, DecoratorNode } from 'lexical';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { CommandItemConfig } from '../types/slash-menu';
|
|
4
4
|
export type SerializedVideoNode = Spread<{
|
|
5
5
|
src: string;
|
|
6
6
|
poster?: string;
|
|
@@ -18,7 +18,7 @@ export declare class VideoNode extends DecoratorNode<ReactElement> {
|
|
|
18
18
|
__poster?: string;
|
|
19
19
|
__width?: number;
|
|
20
20
|
__height?: number;
|
|
21
|
-
static
|
|
21
|
+
static commandItems: CommandItemConfig[];
|
|
22
22
|
static getType(): string;
|
|
23
23
|
static clone(node: VideoNode): VideoNode;
|
|
24
24
|
constructor(payload: VideoNodePayload, key?: NodeKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoNode.d.ts","sourceRoot":"","sources":["../../src/nodes/VideoNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"VideoNode.d.ts","sourceRoot":"","sources":["../../src/nodes/VideoNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,OAAO,EACP,qBAAqB,EACrB,MAAM,EACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAgB,aAAa,EAAE,MAAM,SAAS,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAKzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC;IACE,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,qBAAqB,CACtB,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,SAAU,SAAQ,aAAa,CAAC,YAAY,CAAC;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,MAAM,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAevC;IAED,MAAM,CAAC,OAAO,IAAI,MAAM;IAIxB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;gBAY5B,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,OAAO;IAQpD,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW;IAM7C,SAAS,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO;IAInB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,mBAAmB,GAAG,SAAS;IASjE,UAAU,IAAI,mBAAmB;IAYjC,MAAM,IAAI,MAAM;IAIhB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;CAQtE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAErE;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACnC,IAAI,IAAI,SAAS,CAEnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownPastePlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/MarkdownPastePlugin.tsx"],"names":[],"mappings":"AA2FA,wBAAgB,mBAAmB,SA2DlC"}
|
package/dist/plugins/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export { ImagePlugin, INSERT_IMAGE_COMMAND } from './ImagePlugin';
|
|
|
9
9
|
export type { ImageUploadFn, ImageUploadResult } from './ImageUploadPlugin';
|
|
10
10
|
export { defaultImageUpload, ImageUploadPlugin } from './ImageUploadPlugin';
|
|
11
11
|
export { INSERT_KATEX_BLOCK_COMMAND, INSERT_KATEX_INLINE_COMMAND, KaTeXPlugin, } from './KaTeXPlugin';
|
|
12
|
+
export { MarkdownPastePlugin } from './MarkdownPastePlugin';
|
|
12
13
|
export { MarkdownShortcutsPlugin } from './MarkdownShortcutsPlugin';
|
|
13
14
|
export { INSERT_MERMAID_COMMAND, MermaidPlugin } from './MermaidPlugin';
|
|
14
15
|
export { OnChangePlugin } from './OnChangePlugin';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,WAAW,GACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,WAAW,GACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA"}
|
package/dist/static-entry.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L, R } from "./LinkFavicon-
|
|
2
|
-
import { C, F, N, R as R2, d, a, b, e, c, f, g, u, h, i, j, k, l, m, n } from "./favicon-
|
|
1
|
+
import { L, R } from "./LinkFavicon-K7OT0XLj.js";
|
|
2
|
+
import { C, F, N, R as R2, d, a, b, e, c, f, g, u, h, i, j, k, l, m, n } from "./favicon-DUlhCRKH.js";
|
|
3
3
|
import { a as a2, c as c2, g as g2, n as n2 } from "./utils-fpeaZV1R.js";
|
|
4
4
|
import { r } from "./shared.css-BqX4HjVE.js";
|
|
5
5
|
import { articleTheme, commentTheme, noteTheme, vars } from "@haklex/rich-style-token";
|
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { LexicalEditor } from 'lexical';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
export
|
|
3
|
+
export type CommandPlacement = 'slash' | 'toolbar' | 'blockHandle';
|
|
4
|
+
export type ToolbarGroup = 'history' | 'heading' | 'format' | 'color' | 'list' | 'align' | 'insert';
|
|
5
|
+
export interface CommandItemConfig {
|
|
4
6
|
title: string;
|
|
5
7
|
icon?: ReactNode;
|
|
6
8
|
description?: string;
|
|
7
9
|
keywords?: string[];
|
|
8
10
|
section?: string;
|
|
9
11
|
onSelect: (editor: LexicalEditor, queryString: string) => void;
|
|
12
|
+
placement?: CommandPlacement[];
|
|
13
|
+
group?: ToolbarGroup;
|
|
14
|
+
shortcut?: string;
|
|
15
|
+
isActive?: (editor: LexicalEditor) => boolean;
|
|
16
|
+
isDisabled?: (editor: LexicalEditor) => boolean;
|
|
10
17
|
}
|
|
18
|
+
/** @deprecated Use CommandItemConfig */
|
|
19
|
+
export type SlashMenuItemConfig = CommandItemConfig;
|
|
11
20
|
//# sourceMappingURL=slash-menu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-menu.d.ts","sourceRoot":"","sources":["../../src/types/slash-menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"slash-menu.d.ts","sourceRoot":"","sources":["../../src/types/slash-menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAA;AAElE,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,CAAA;AAEZ,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAE9D,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAA;IAC7C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAA;CAChD;AAED,wCAAwC;AACxC,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAA"}
|
package/dist/types.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export interface RichEditorProps {
|
|
|
16
16
|
contentClassName?: string;
|
|
17
17
|
style?: React.CSSProperties;
|
|
18
18
|
actions?: ReactNode;
|
|
19
|
+
header?: ReactNode;
|
|
19
20
|
onEditorReady?: (editor: LexicalEditor | null) => void;
|
|
20
21
|
extraNodes?: Array<Klass<LexicalNode>>;
|
|
21
22
|
rendererConfig?: RendererConfig;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,WAAW,EACX,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;AAE9D,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACjD,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAA;IACtD,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IACtC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,WAAW,CAAC,EAAE,aAAa,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,WAAW,EACX,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;AAE9D,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACjD,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAA;IACtD,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IACtC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,WAAW,CAAC,EAAE,aAAa,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collect-command-items.d.ts","sourceRoot":"","sources":["../../src/utils/collect-command-items.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,aAAa,GACpB,iBAAiB,EAAE,CAarB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haklex/rich-editor",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.57",
|
|
4
4
|
"description": "Core rich text editor based on Lexical",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"nanoid": "^5.1.6",
|
|
32
32
|
"thumbhash": "^0.1.1",
|
|
33
|
-
"@haklex/rich-editor-ui": "0.0.
|
|
34
|
-
"@haklex/rich-style-token": "0.0.
|
|
35
|
-
"@haklex/rich-headless": "0.0.
|
|
33
|
+
"@haklex/rich-editor-ui": "0.0.57",
|
|
34
|
+
"@haklex/rich-style-token": "0.0.57",
|
|
35
|
+
"@haklex/rich-headless": "0.0.57"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@base-ui/react": "^1.2.0",
|