@haklex/rich-editor 0.0.54 → 0.0.56

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/{LinkFavicon-C7-e1dch.js → LinkFavicon-K7OT0XLj.js} +1 -1
  2. package/dist/{RichEditor-B6qbaX5f.js → RichEditor-BavDzLp-.js} +139 -12
  3. package/dist/components/ContentEditable.d.ts +2 -1
  4. package/dist/components/ContentEditable.d.ts.map +1 -1
  5. package/dist/components/RichEditor.d.ts +1 -1
  6. package/dist/components/RichEditor.d.ts.map +1 -1
  7. package/dist/editor.mjs +2 -2
  8. package/dist/{favicon-Di7XTTqC.js → favicon-DUlhCRKH.js} +15 -5
  9. package/dist/index.d.ts +2 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.mjs +19 -5
  12. package/dist/nodes/AlertQuoteEditNode.d.ts +2 -2
  13. package/dist/nodes/AlertQuoteEditNode.d.ts.map +1 -1
  14. package/dist/nodes/BannerEditNode.d.ts +2 -2
  15. package/dist/nodes/BannerEditNode.d.ts.map +1 -1
  16. package/dist/nodes/CodeBlockEditNode.d.ts +6 -1
  17. package/dist/nodes/CodeBlockEditNode.d.ts.map +1 -1
  18. package/dist/nodes/CodeBlockNode.d.ts +2 -2
  19. package/dist/nodes/CodeBlockNode.d.ts.map +1 -1
  20. package/dist/nodes/ImageNode.d.ts +2 -2
  21. package/dist/nodes/ImageNode.d.ts.map +1 -1
  22. package/dist/nodes/LinkCardNode.d.ts +2 -2
  23. package/dist/nodes/LinkCardNode.d.ts.map +1 -1
  24. package/dist/nodes/MermaidNode.d.ts +2 -2
  25. package/dist/nodes/MermaidNode.d.ts.map +1 -1
  26. package/dist/nodes/VideoNode.d.ts +2 -2
  27. package/dist/nodes/VideoNode.d.ts.map +1 -1
  28. package/dist/plugins/MarkdownPastePlugin.d.ts +2 -0
  29. package/dist/plugins/MarkdownPastePlugin.d.ts.map +1 -0
  30. package/dist/plugins/index.d.ts +1 -0
  31. package/dist/plugins/index.d.ts.map +1 -1
  32. package/dist/static-entry.mjs +2 -2
  33. package/dist/types/slash-menu.d.ts +10 -1
  34. package/dist/types/slash-menu.d.ts.map +1 -1
  35. package/dist/types.d.ts +1 -0
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/utils/collect-command-items.d.ts +4 -0
  38. package/dist/utils/collect-command-items.d.ts.map +1 -0
  39. 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-Di7XTTqC.js";
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-Di7XTTqC.js";
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, "slashMenuItems", [
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, "slashMenuItems", [
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, "slashMenuItems", CodeBlockNode.slashMenuItems.map((item) => ({
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 ? 48 : 12;
2524
2643
  return /* @__PURE__ */ jsx(
2525
2644
  "div",
2526
2645
  {
2527
2646
  className: "rich-editor__content-wrapper",
2528
- style: { position: "relative" },
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: "12px 16px"
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: "12px",
2546
- left: "16px",
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;CACrB;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,WAAW,GACZ,EAAE,oBAAoB,+BAiCtB"}
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":"AAoCA,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,aAAa,EACb,UAAU,EACV,cAAc,EACd,WAAW,EACX,UAAU,EACV,QAAQ,GACT,EAAE,eAAe,+BA4EjB"}
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-B6qbaX5f.js";
2
- import { a as a2, b, c as c2 } from "./favicon-Di7XTTqC.js";
1
+ import { R, a, c, g, s } from "./RichEditor-BavDzLp-.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, "slashMenuItems", [
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, "slashMenuItems", [
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, "slashMenuItems", [
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, "slashMenuItems", [
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, "slashMenuItems", [
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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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-B6qbaX5f.js";
2
- import { A, F, d, I, e, f, h, i, N, R, a, c, j, g, s, u } from "./RichEditor-B6qbaX5f.js";
3
- import { h as useFootnoteContent, j as useFootnoteDisplayNumber } from "./favicon-Di7XTTqC.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-Di7XTTqC.js";
1
+ import { b as blockIdState } from "./RichEditor-BavDzLp-.js";
2
+ import { A, F, d, I, e, f, h, i, N, R, a, c, j, g, s, u } from "./RichEditor-BavDzLp-.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-C7-e1dch.js";
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 { SlashMenuItemConfig } from '../types/slash-menu';
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 slashMenuItems: SlashMenuItemConfig[];
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,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,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,cAAc,EAAE,mBAAmB,EAAE,CAqC3C;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
+ {"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 { SlashMenuItemConfig } from '../types/slash-menu';
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 slashMenuItems: SlashMenuItemConfig[];
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,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,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,cAAc,EAAE,mBAAmB,EAAE,CAa3C;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"}
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 slashMenuItems: {
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,cAAc;2BAEA,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
+ {"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 { SlashMenuItemConfig } from '../types/slash-menu';
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 slashMenuItems: SlashMenuItemConfig[];
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,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,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,cAAc,EAAE,mBAAmB,EAAE,CAa3C;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
+ {"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 { SlashMenuItemConfig } from '../types/slash-menu';
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 slashMenuItems: SlashMenuItemConfig[];
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":"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"}
1
+ {"version":3,"file":"ImageNode.d.ts","sourceRoot":"","sources":["../../src/nodes/ImageNode.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedLexicalNode, Spread, DecoratorNode } from 'lexical';
2
2
  import { ReactElement } from 'react';
3
- import { SlashMenuItemConfig } from '../types/slash-menu';
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 slashMenuItems: SlashMenuItemConfig[];
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,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,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,cAAc,EAAE,mBAAmB,EAAE,CAa3C;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
+ {"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 { SlashMenuItemConfig } from '../types/slash-menu';
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 slashMenuItems: SlashMenuItemConfig[];
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,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,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,cAAc,EAAE,mBAAmB,EAAE,CAe3C;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
+ {"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 { SlashMenuItemConfig } from '../types/slash-menu';
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 slashMenuItems: SlashMenuItemConfig[];
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,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,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,cAAc,EAAE,mBAAmB,EAAE,CAa3C;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"}
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,2 @@
1
+ export declare function MarkdownPastePlugin(): null;
2
+ //# sourceMappingURL=MarkdownPastePlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownPastePlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/MarkdownPastePlugin.tsx"],"names":[],"mappings":"AA2FA,wBAAgB,mBAAmB,SA2DlC"}
@@ -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"}
@@ -1,5 +1,5 @@
1
- import { L, R } from "./LinkFavicon-C7-e1dch.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-Di7XTTqC.js";
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 interface SlashMenuItemConfig {
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,mBAAmB;IAClC,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;CAC/D"}
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;
@@ -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,4 @@
1
+ import { LexicalEditor } from 'lexical';
2
+ import { CommandItemConfig } from '../types/slash-menu';
3
+ export declare function collectCommandItems(editor: LexicalEditor): CommandItemConfig[];
4
+ //# sourceMappingURL=collect-command-items.d.ts.map
@@ -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.54",
3
+ "version": "0.0.56",
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.54",
34
- "@haklex/rich-headless": "0.0.54",
35
- "@haklex/rich-style-token": "0.0.54"
33
+ "@haklex/rich-editor-ui": "0.0.56",
34
+ "@haklex/rich-headless": "0.0.56",
35
+ "@haklex/rich-style-token": "0.0.56"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@base-ui/react": "^1.2.0",