@haklex/rich-editor 0.0.10 → 0.0.12

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.
@@ -9,7 +9,7 @@ import { ListPlugin } from "@lexical/react/LexicalListPlugin";
9
9
  import { RichTextPlugin } from "@lexical/react/LexicalRichTextPlugin";
10
10
  import { TabIndentationPlugin } from "@lexical/react/LexicalTabIndentationPlugin";
11
11
  import { TablePlugin } from "@lexical/react/LexicalTablePlugin";
12
- import { V as $isAlertQuoteNode, W as RendererWrapper, X as AlertRenderer, Y as AlertQuoteNode, Z as $isBannerNode, _ as BannerRenderer, a0 as BannerNode, a1 as normalizeBannerType, a2 as $isCodeBlockNode, a3 as CodeBlockRenderer, a4 as CodeBlockNode, Q as useFootnoteDefinitions, s as FootnoteSectionNode, k as $isGridContainerNode, G as GridContainerNode, e as editorTheme, N as NESTED_EDITOR_NODES, b as builtinNodes, a5 as SpoilerNode, a6 as MentionNode, t as KaTeXInlineNode, K as KaTeXBlockNode, a7 as ImageNode, a8 as FootnoteNode, a9 as VideoNode, L as LinkCardNode, aa as DetailsNode, M as MermaidNode, ab as $createAlertQuoteNode, ac as $createImageNode, ad as $createKaTeXInlineNode, ae as $createKaTeXBlockNode, af as $createBannerNode, ag as $createDetailsNode, ah as $isDetailsNode, ai as $createFootnoteNode, aj as $isFootnoteNode, j as $isFootnoteSectionNode, $ as $createFootnoteSectionNode, m as $isKaTeXInlineNode, l as $isKaTeXBlockNode, ak as $createMentionNode, al as $isMentionNode, am as $createSpoilerNode, an as $isSpoilerNode, i as $createMermaidNode, d as clsx, C as ColorSchemeProvider, R as RendererConfigProvider, F as FootnotePlugin, g as getVariantClass } from "./utils-9gyGMPKX.js";
12
+ import { V as $isAlertQuoteNode, W as RendererWrapper, X as AlertRenderer, Y as AlertQuoteNode, Z as $isBannerNode, _ as BannerRenderer, a0 as BannerNode, a1 as normalizeBannerType, a2 as $isCodeBlockNode, a3 as CodeBlockRenderer, a4 as CodeBlockNode, Q as useFootnoteDefinitions, s as FootnoteSectionNode, k as $isGridContainerNode, G as GridContainerNode, e as editorTheme, N as NESTED_EDITOR_NODES, b as builtinNodes, a5 as SpoilerNode, a6 as MentionNode, t as KaTeXInlineNode, K as KaTeXBlockNode, a7 as ImageNode, a8 as FootnoteNode, a9 as VideoNode, L as LinkCardNode, aa as DetailsNode, M as MermaidNode, ab as $createAlertQuoteNode, ac as $createImageNode, ad as $createKaTeXInlineNode, ae as $createKaTeXBlockNode, af as $createBannerNode, ag as $createDetailsNode, ah as $createFootnoteNode, j as $isFootnoteSectionNode, $ as $createFootnoteSectionNode, ai as $createMentionNode, aj as $createSpoilerNode, i as $createMermaidNode, d as clsx, C as ColorSchemeProvider, R as RendererConfigProvider, F as FootnotePlugin, g as getVariantClass } from "./utils-DvP2uSr7.js";
13
13
  import { useCallback, createElement, useState, useEffect, useRef } from "react";
14
14
  import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
15
15
  import { ContentEditable as ContentEditable$1 } from "@lexical/react/LexicalContentEditable";
@@ -20,7 +20,7 @@ import { createLinkMatcherWithRegExp, registerAutoLink } from "@lexical/link";
20
20
  import { INSERT_HORIZONTAL_RULE_COMMAND, $createHorizontalRuleNode } from "@lexical/extension";
21
21
  import { MarkdownShortcutPlugin } from "@lexical/react/LexicalMarkdownShortcutPlugin";
22
22
  import { CHECK_LIST, TRANSFORMERS } from "@lexical/markdown";
23
- import { $isQuoteNode } from "@lexical/rich-text";
23
+ import { 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, SPOILER_TRANSFORMER as SPOILER_TRANSFORMER$1, INSERT_TRANSFORMER, IMAGE_BLOCK_TRANSFORMER, VIDEO_BLOCK_TRANSFORMER, CODE_BLOCK_NODE_TRANSFORMER, LINK_CARD_BLOCK_TRANSFORMER, MERMAID_BLOCK_TRANSFORMER, HORIZONTAL_RULE_BLOCK_TRANSFORMER, TABLE_BLOCK_TRANSFORMER } from "@haklex/rich-headless/transformers";
24
24
  function AlertEditDecorator({
25
25
  nodeKey,
26
26
  alertType,
@@ -684,25 +684,8 @@ const ALERT_TYPE_MAP = {
684
684
  CAUTION: "caution"
685
685
  };
686
686
  const GIT_ALERT_TRANSFORMER = {
687
+ ...GIT_ALERT_TRANSFORMER$1,
687
688
  dependencies: [AlertQuoteNode],
688
- export: (node) => {
689
- if (!$isAlertQuoteNode(node)) {
690
- if ($isQuoteNode(node)) {
691
- const lines2 = node.getTextContent().split("\n");
692
- return lines2.map((line) => `> ${line}`).join("\n");
693
- }
694
- return null;
695
- }
696
- const type = node.getAlertType();
697
- const typeKey = Object.keys(ALERT_TYPE_MAP).find(
698
- (key) => ALERT_TYPE_MAP[key] === type
699
- );
700
- const textContent = node.getTextContent();
701
- const lines = textContent.split("\n");
702
- const firstLine = `> [!${typeKey || "NOTE"}]`;
703
- const restLines = lines.map((line) => `> ${line}`);
704
- return [firstLine, ...restLines].join("\n");
705
- },
706
689
  regExp: /^>\s*\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*$/,
707
690
  replace: (parentNode, children, match) => {
708
691
  const typeKey = match[1];
@@ -733,8 +716,7 @@ const GIT_ALERT_TRANSFORMER = {
733
716
  const editorState = alertNode.getContentEditor().parseEditorState(content);
734
717
  alertNode.getContentEditor().setEditorState(editorState);
735
718
  parentNode.replace(alertNode);
736
- },
737
- type: "element"
719
+ }
738
720
  };
739
721
  const BANNER_TYPE_MAP = {
740
722
  note: "note",
@@ -749,24 +731,8 @@ const BANNER_TYPE_MAP = {
749
731
  caution: "caution"
750
732
  };
751
733
  const CONTAINER_TRANSFORMER = {
734
+ ...CONTAINER_TRANSFORMER$1,
752
735
  dependencies: [BannerNode, DetailsNode],
753
- export: (node) => {
754
- if ($isBannerNode(node)) {
755
- const type = node.getBannerType();
756
- const content = node.getTextContent();
757
- return `::: ${type}
758
- ${content}
759
- :::`;
760
- }
761
- if ($isDetailsNode(node)) {
762
- const summary = node.getSummary();
763
- const content = node.getTextContent();
764
- return `::: details{summary="${summary}"}
765
- ${content}
766
- :::`;
767
- }
768
- return null;
769
- },
770
736
  regExp: /^:::\s*(\w+)(?:\{([^}]*)\})?\s*$/,
771
737
  replace: (parentNode, children, match) => {
772
738
  const type = match[1];
@@ -819,31 +785,19 @@ ${content}
819
785
  paragraph.append(child);
820
786
  });
821
787
  parentNode.replace(paragraph);
822
- },
823
- type: "element"
788
+ }
824
789
  };
825
790
  const FOOTNOTE_TRANSFORMER = {
791
+ ...FOOTNOTE_TRANSFORMER$1,
826
792
  dependencies: [FootnoteNode],
827
- export: (node) => {
828
- if (!$isFootnoteNode(node)) return null;
829
- return `[^${node.getIdentifier()}]`;
830
- },
831
- importRegExp: /\[\^(\w+)\]/,
832
- regExp: /\[\^(\w+)\]$/,
833
793
  replace: (textNode, match) => {
834
794
  const footnoteNode = $createFootnoteNode(match[1]);
835
795
  textNode.replace(footnoteNode);
836
- },
837
- trigger: "]",
838
- type: "text-match"
796
+ }
839
797
  };
840
798
  const FOOTNOTE_SECTION_TRANSFORMER = {
799
+ ...FOOTNOTE_SECTION_TRANSFORMER$1,
841
800
  dependencies: [FootnoteSectionNode],
842
- export: (node) => {
843
- if (!$isFootnoteSectionNode(node)) return null;
844
- const definitions = node.getDefinitions();
845
- return Object.entries(definitions).map(([id, content]) => `[^${id}]: ${content}`).join("\n");
846
- },
847
801
  regExp: /^\[\^(\w+)\]:\s+(.+)$/,
848
802
  replace: (parentNode, _children, match) => {
849
803
  const identifier = match[1];
@@ -861,78 +815,65 @@ const FOOTNOTE_SECTION_TRANSFORMER = {
861
815
  }
862
816
  const sectionNode = $createFootnoteSectionNode({ [identifier]: content });
863
817
  parentNode.replace(sectionNode);
864
- },
865
- type: "element"
866
- };
867
- const INSERT_TRANSFORMER = {
868
- format: ["underline"],
869
- tag: "++",
870
- type: "text-format"
818
+ }
871
819
  };
872
820
  const KATEX_INLINE_TRANSFORMER = {
821
+ ...KATEX_INLINE_TRANSFORMER$1,
873
822
  dependencies: [KaTeXInlineNode],
874
- export: (node) => {
875
- if (!$isKaTeXInlineNode(node)) return null;
876
- return `$${node.getEquation()}$`;
877
- },
878
- importRegExp: /\$([^$\n]+)\$/,
879
- regExp: /\$([^$\n]+)\$$/,
880
823
  replace: (textNode, match) => {
881
824
  const katexNode = $createKaTeXInlineNode(match[1]);
882
825
  textNode.replace(katexNode);
883
- },
884
- trigger: "$",
885
- type: "text-match"
826
+ }
886
827
  };
887
828
  const KATEX_BLOCK_TRANSFORMER = {
829
+ ...KATEX_BLOCK_TRANSFORMER$1,
888
830
  dependencies: [KaTeXBlockNode],
889
- export: (node) => {
890
- if (!$isKaTeXBlockNode(node)) return null;
891
- return `$$${node.getEquation()}$$`;
892
- },
893
- importRegExp: /\$\$([^$]+)\$\$/,
894
- regExp: /\$\$([^$]+)\$\$$/,
895
831
  replace: (textNode, match) => {
896
832
  const katexNode = $createKaTeXBlockNode(match[1]);
897
833
  textNode.replace(katexNode);
898
- },
899
- trigger: "$",
900
- type: "text-match"
834
+ }
901
835
  };
902
836
  const MENTION_TRANSFORMER = {
837
+ ...MENTION_TRANSFORMER$1,
903
838
  dependencies: [MentionNode],
904
- export: (node) => {
905
- if (!$isMentionNode(node)) return null;
906
- const displayName = node.getDisplayName();
907
- const base = `{${node.getPlatform()}@${node.getHandle()}}`;
908
- return displayName ? `[${displayName}]${base}` : base;
909
- },
910
- importRegExp: /(?:\[([^\]]+)\])?\{(\w+)@(\w[\w.-]*)\}/,
911
- regExp: /(?:\[([^\]]+)\])?\{(\w+)@(\w[\w.-]*)\}$/,
912
839
  replace: (textNode, match) => {
913
840
  const displayName = match[1] || void 0;
914
841
  const mentionNode = $createMentionNode(match[2], match[3], displayName);
915
842
  textNode.replace(mentionNode);
843
+ }
844
+ };
845
+ function quoteAttr(value) {
846
+ return value.replaceAll('"', '\\"');
847
+ }
848
+ const GRID_CONTAINER_BLOCK_TRANSFORMER = {
849
+ dependencies: [],
850
+ export: (node) => {
851
+ if (!$isGridContainerNode(node)) return null;
852
+ const cells = node.getCellEditors().map(
853
+ (editor) => editor.getEditorState().read(() => {
854
+ return $getRoot().getTextContent();
855
+ })
856
+ );
857
+ const body = cells.map((content) => `::: cell
858
+ ${content}
859
+ :::`).join("\n");
860
+ return `::: grid{cols=${node.getCols()} gap="${quoteAttr(node.getGap())}"}
861
+ ${body}
862
+ :::`;
916
863
  },
917
- trigger: "}",
918
- type: "text-match"
864
+ regExp: /a^/,
865
+ replace: () => {
866
+ },
867
+ type: "element"
919
868
  };
920
869
  const SPOILER_TRANSFORMER = {
870
+ ...SPOILER_TRANSFORMER$1,
921
871
  dependencies: [SpoilerNode],
922
- export: (node) => {
923
- if (!$isSpoilerNode(node)) return null;
924
- const textContent = node.getTextContent();
925
- return `||${textContent}||`;
926
- },
927
- importRegExp: /\|\|(.+?)\|\|/,
928
- regExp: /\|\|(.+?)\|\|$/,
929
872
  replace: (textNode, match) => {
930
873
  const spoilerNode = $createSpoilerNode();
931
874
  spoilerNode.append($createTextNode(match[1]));
932
875
  textNode.replace(spoilerNode);
933
- },
934
- trigger: "|",
935
- type: "text-match"
876
+ }
936
877
  };
937
878
  const ALL_TRANSFORMERS = [
938
879
  // Inline transformers
@@ -947,6 +888,14 @@ const ALL_TRANSFORMERS = [
947
888
  GIT_ALERT_TRANSFORMER,
948
889
  CHECK_LIST,
949
890
  KATEX_BLOCK_TRANSFORMER,
891
+ IMAGE_BLOCK_TRANSFORMER,
892
+ VIDEO_BLOCK_TRANSFORMER,
893
+ CODE_BLOCK_NODE_TRANSFORMER,
894
+ LINK_CARD_BLOCK_TRANSFORMER,
895
+ MERMAID_BLOCK_TRANSFORMER,
896
+ GRID_CONTAINER_BLOCK_TRANSFORMER,
897
+ HORIZONTAL_RULE_BLOCK_TRANSFORMER,
898
+ TABLE_BLOCK_TRANSFORMER,
950
899
  ...TRANSFORMERS
951
900
  ];
952
901
  function MarkdownShortcutsPlugin() {
@@ -1062,6 +1011,7 @@ function RichEditor({
1062
1011
  autoFocus = false,
1063
1012
  className,
1064
1013
  contentClassName,
1014
+ style,
1065
1015
  actions,
1066
1016
  onEditorReady,
1067
1017
  extraNodes,
@@ -1082,42 +1032,50 @@ function RichEditor({
1082
1032
  ...initialValue ? { editorState: JSON.stringify(initialValue) } : {}
1083
1033
  };
1084
1034
  const variantClass = getVariantClass(variant, theme);
1085
- return /* @__PURE__ */ jsx(PortalThemeProvider, { className: variantClass, children: /* @__PURE__ */ jsx(ColorSchemeProvider, { colorScheme: theme, children: /* @__PURE__ */ jsx(RendererConfigProvider, { config: rendererConfig, mode: "editor", children: /* @__PURE__ */ jsx(LexicalComposer, { initialConfig, children: /* @__PURE__ */ jsx(FootnotePlugin, { children: /* @__PURE__ */ jsxs("div", { className: clsx("rich-editor", variantClass, className), children: [
1086
- /* @__PURE__ */ jsx(
1087
- RichTextPlugin,
1088
- {
1089
- contentEditable: /* @__PURE__ */ jsx(
1090
- ContentEditable,
1035
+ return /* @__PURE__ */ jsx(PortalThemeProvider, { className: variantClass, children: /* @__PURE__ */ jsx(ColorSchemeProvider, { colorScheme: theme, children: /* @__PURE__ */ jsx(RendererConfigProvider, { config: rendererConfig, mode: "editor", children: /* @__PURE__ */ jsx(LexicalComposer, { initialConfig, children: /* @__PURE__ */ jsx(FootnotePlugin, { children: /* @__PURE__ */ jsxs(
1036
+ "div",
1037
+ {
1038
+ className: clsx("rich-editor", variantClass, className),
1039
+ style,
1040
+ children: [
1041
+ /* @__PURE__ */ jsx(
1042
+ RichTextPlugin,
1091
1043
  {
1092
- className: contentClassName,
1093
- placeholder
1044
+ contentEditable: /* @__PURE__ */ jsx(
1045
+ ContentEditable,
1046
+ {
1047
+ className: contentClassName,
1048
+ placeholder
1049
+ }
1050
+ ),
1051
+ ErrorBoundary: LexicalErrorBoundary
1094
1052
  }
1095
1053
  ),
1096
- ErrorBoundary: LexicalErrorBoundary
1097
- }
1098
- ),
1099
- /* @__PURE__ */ jsx(HistoryPlugin, {}),
1100
- /* @__PURE__ */ jsx(ListPlugin, {}),
1101
- /* @__PURE__ */ jsx(LinkPlugin, {}),
1102
- /* @__PURE__ */ jsx(TabIndentationPlugin, {}),
1103
- /* @__PURE__ */ jsx(TablePlugin, {}),
1104
- /* @__PURE__ */ jsx(MarkdownShortcutsPlugin, {}),
1105
- /* @__PURE__ */ jsx(OnChangePlugin, { onChange, debounceMs }),
1106
- /* @__PURE__ */ jsx(SubmitShortcutPlugin, { onSubmit }),
1107
- /* @__PURE__ */ jsx(ImagePlugin, {}),
1108
- /* @__PURE__ */ jsx(KaTeXPlugin, {}),
1109
- /* @__PURE__ */ jsx(AlertPlugin, {}),
1110
- /* @__PURE__ */ jsx(MermaidPlugin, {}),
1111
- /* @__PURE__ */ jsx(HorizontalRulePlugin, {}),
1112
- /* @__PURE__ */ jsx(CheckListPlugin, {}),
1113
- /* @__PURE__ */ jsx(AutoLinkPlugin, {}),
1114
- /* @__PURE__ */ jsx(EditorRefPlugin, { onEditorReady }),
1115
- autoFocus && /* @__PURE__ */ jsx(AutoFocusPlugin, {}),
1116
- children,
1117
- actions && /* @__PURE__ */ jsx("div", { className: "rich-editor__actions", children: actions })
1118
- ] }) }) }) }) }) });
1054
+ /* @__PURE__ */ jsx(HistoryPlugin, {}),
1055
+ /* @__PURE__ */ jsx(ListPlugin, {}),
1056
+ /* @__PURE__ */ jsx(LinkPlugin, {}),
1057
+ /* @__PURE__ */ jsx(TabIndentationPlugin, {}),
1058
+ /* @__PURE__ */ jsx(TablePlugin, {}),
1059
+ /* @__PURE__ */ jsx(MarkdownShortcutsPlugin, {}),
1060
+ /* @__PURE__ */ jsx(OnChangePlugin, { onChange, debounceMs }),
1061
+ /* @__PURE__ */ jsx(SubmitShortcutPlugin, { onSubmit }),
1062
+ /* @__PURE__ */ jsx(ImagePlugin, {}),
1063
+ /* @__PURE__ */ jsx(KaTeXPlugin, {}),
1064
+ /* @__PURE__ */ jsx(AlertPlugin, {}),
1065
+ /* @__PURE__ */ jsx(MermaidPlugin, {}),
1066
+ /* @__PURE__ */ jsx(HorizontalRulePlugin, {}),
1067
+ /* @__PURE__ */ jsx(CheckListPlugin, {}),
1068
+ /* @__PURE__ */ jsx(AutoLinkPlugin, {}),
1069
+ /* @__PURE__ */ jsx(EditorRefPlugin, { onEditorReady }),
1070
+ autoFocus && /* @__PURE__ */ jsx(AutoFocusPlugin, {}),
1071
+ children,
1072
+ actions && /* @__PURE__ */ jsx("div", { className: "rich-editor__actions", children: actions })
1073
+ ]
1074
+ }
1075
+ ) }) }) }) }) });
1119
1076
  }
1120
1077
  export {
1078
+ ALL_TRANSFORMERS as A,
1121
1079
  FootnoteSectionEditNode as F,
1122
1080
  INSERT_ALERT_COMMAND as I,
1123
1081
  RichEditor as R,
@@ -4,7 +4,7 @@ import { LexicalComposer } from "@lexical/react/LexicalComposer";
4
4
  import { ContentEditable } from "@lexical/react/LexicalContentEditable";
5
5
  import { LexicalErrorBoundary } from "@lexical/react/LexicalErrorBoundary";
6
6
  import { RichTextPlugin } from "@lexical/react/LexicalRichTextPlugin";
7
- import { a as allNodes, C as ColorSchemeProvider, R as RendererConfigProvider, e as editorTheme, F as FootnotePlugin, d as clsx, g as getVariantClass } from "./utils-9gyGMPKX.js";
7
+ import { a as allNodes, C as ColorSchemeProvider, R as RendererConfigProvider, e as editorTheme, F as FootnotePlugin, d as clsx, g as getVariantClass } from "./utils-DvP2uSr7.js";
8
8
  import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
9
9
  import { HeadingNode } from "@lexical/rich-text";
10
10
  import { useEffect } from "react";
@@ -56,6 +56,7 @@ function RichRenderer({
56
56
  variant = "article",
57
57
  theme = "light",
58
58
  className,
59
+ style,
59
60
  as: Component = "div",
60
61
  rendererConfig,
61
62
  extraNodes
@@ -72,24 +73,31 @@ function RichRenderer({
72
73
  console.error("[RichRenderer]", error);
73
74
  }
74
75
  };
75
- return /* @__PURE__ */ jsx(PortalThemeProvider, { className: variantClass, children: /* @__PURE__ */ jsx(ColorSchemeProvider, { colorScheme: theme, children: /* @__PURE__ */ jsx(RendererConfigProvider, { config: rendererConfig, mode: "renderer", children: /* @__PURE__ */ jsx(Component, { className: clsx("rich-content", variantClass, className), children: /* @__PURE__ */ jsx(LexicalComposer, { initialConfig, children: /* @__PURE__ */ jsxs(FootnotePlugin, { children: [
76
- /* @__PURE__ */ jsx(
77
- RichTextPlugin,
78
- {
79
- contentEditable: /* @__PURE__ */ jsx(
80
- ContentEditable,
76
+ return /* @__PURE__ */ jsx(PortalThemeProvider, { className: variantClass, children: /* @__PURE__ */ jsx(ColorSchemeProvider, { colorScheme: theme, children: /* @__PURE__ */ jsx(RendererConfigProvider, { config: rendererConfig, mode: "renderer", children: /* @__PURE__ */ jsx(
77
+ Component,
78
+ {
79
+ className: clsx("rich-content", variantClass, className),
80
+ style,
81
+ children: /* @__PURE__ */ jsx(LexicalComposer, { initialConfig, children: /* @__PURE__ */ jsxs(FootnotePlugin, { children: [
82
+ /* @__PURE__ */ jsx(
83
+ RichTextPlugin,
81
84
  {
82
- className: "rich-content__body",
83
- style: { outline: "none" },
84
- "aria-placeholder": "",
85
- placeholder: /* @__PURE__ */ jsx("span", { style: { display: "none" } })
85
+ contentEditable: /* @__PURE__ */ jsx(
86
+ ContentEditable,
87
+ {
88
+ className: "rich-content__body",
89
+ style: { outline: "none" },
90
+ "aria-placeholder": "",
91
+ placeholder: /* @__PURE__ */ jsx("span", { style: { display: "none" } })
92
+ }
93
+ ),
94
+ ErrorBoundary: LexicalErrorBoundary
86
95
  }
87
96
  ),
88
- ErrorBoundary: LexicalErrorBoundary
89
- }
90
- ),
91
- /* @__PURE__ */ jsx(HeadingAnchorPlugin, {})
92
- ] }) }) }) }) }) });
97
+ /* @__PURE__ */ jsx(HeadingAnchorPlugin, {})
98
+ ] }) })
99
+ }
100
+ ) }) }) });
93
101
  }
94
102
  export {
95
103
  RichRenderer as R
@@ -1,3 +1,3 @@
1
1
  import { RichEditorProps } from '../types';
2
- export declare function RichEditor({ initialValue, onChange, variant, theme, placeholder, onSubmit, autoFocus, className, contentClassName, actions, onEditorReady, extraNodes, rendererConfig, debounceMs, children, }: RichEditorProps): import("react").JSX.Element;
2
+ export declare function RichEditor({ initialValue, onChange, variant, theme, placeholder, onSubmit, autoFocus, className, contentClassName, style, actions, onEditorReady, extraNodes, rendererConfig, 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":"AA4BA,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,OAAO,EACP,aAAa,EACb,UAAU,EACV,cAAc,EACd,UAAU,EACV,QAAQ,GACT,EAAE,eAAe,+BA4DjB"}
1
+ {"version":3,"file":"RichEditor.d.ts","sourceRoot":"","sources":["../../src/components/RichEditor.tsx"],"names":[],"mappings":"AA4BA,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,UAAU,EACV,QAAQ,GACT,EAAE,eAAe,+BA+DjB"}
@@ -1,3 +1,3 @@
1
1
  import { RichRendererProps } from '../types';
2
- export declare function RichRenderer({ value, variant, theme, className, as: Component, rendererConfig, extraNodes, }: RichRendererProps): import("react").JSX.Element;
2
+ export declare function RichRenderer({ value, variant, theme, className, style, as: Component, rendererConfig, extraNodes, }: RichRendererProps): import("react").JSX.Element;
3
3
  //# sourceMappingURL=RichRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichRenderer.d.ts","sourceRoot":"","sources":["../../src/components/RichRenderer.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAGjD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAmB,EACnB,KAAe,EACf,SAAS,EACT,EAAE,EAAE,SAAiB,EACrB,cAAc,EACd,UAAU,GACX,EAAE,iBAAiB,+BA0CnB"}
1
+ {"version":3,"file":"RichRenderer.d.ts","sourceRoot":"","sources":["../../src/components/RichRenderer.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAGjD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAmB,EACnB,KAAe,EACf,SAAS,EACT,KAAK,EACL,EAAE,EAAE,SAAiB,EACrB,cAAc,EACd,UAAU,GACX,EAAE,iBAAiB,+BA6CnB"}
package/dist/editor.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { R, a, c, g, s } from "./RichEditor-CZCt6CCb.js";
2
- import { a as a2, b, c as c2 } from "./utils-9gyGMPKX.js";
1
+ import { R, a, c, g, s } from "./RichEditor-Da7lSkQj.js";
2
+ import { a as a2, b, c as c2 } from "./utils-DvP2uSr7.js";
3
3
  export {
4
4
  R as RichEditor,
5
5
  a as allEditNodes,
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export { FootnoteDefinitionsProvider, useFootnoteContent, useFootnoteDefinitions
9
9
  export type { RendererMode } from './context/RendererConfigContext';
10
10
  export { useRendererMode } from './context/RendererConfigContext';
11
11
  export * from './styles';
12
+ export { ALL_TRANSFORMERS } from './transformers';
12
13
  export type { RichEditorProps, RichEditorVariant, RichRendererProps, } from './types';
13
14
  export type { RendererConfig } from './types/renderer-config';
14
15
  export type { SlashMenuItemConfig } from './types/slash-menu';
@@ -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,6 +1,6 @@
1
- import { F, I, b, d, e, f, R, a, c, g, s } from "./RichEditor-CZCt6CCb.js";
2
- import { R as R2 } from "./RichRenderer-DALnGZXp.js";
3
- import { $, f as f2, h, i, j, k, l, m, n, o, A, p, B, q, C, r, F as F2, s as s2, G, K, t, u, L, v, M, N, a as a2, w, b as b2, x, y, z, c as c2, D, E, H, I as I2, e as e2, g as g2, J, O, P, Q, S, T, U } from "./utils-9gyGMPKX.js";
1
+ import { A, F, I, b, d, e, f, R, a, c, g, s } from "./RichEditor-Da7lSkQj.js";
2
+ import { R as R2 } from "./RichRenderer-CtBjK31O.js";
3
+ import { $, f as f2, h, i, j, k, l, m, n, o, A as A2, p, B, q, C, r, F as F2, s as s2, G, K, t, u, L, v, M, N, a as a2, w, b as b2, x, y, z, c as c2, D, E, H, I as I2, e as e2, g as g2, J, O, P, Q, S, T, U } from "./utils-DvP2uSr7.js";
4
4
  var richContent = "r8uj4t0";
5
5
  var articleTheme = "_17pm0gw0";
6
6
  var commentTheme = "_17pm0gw1";
@@ -20,8 +20,9 @@ export {
20
20
  m as $isKaTeXInlineNode,
21
21
  n as $isLinkCardNode,
22
22
  o as $isMermaidNode,
23
- A as ALERT_LABELS,
23
+ A2 as ALERT_LABELS,
24
24
  p as ALERT_TYPES,
25
+ A as ALL_TRANSFORMERS,
25
26
  B as BANNER_LABELS,
26
27
  q as BANNER_TYPES,
27
28
  C as ColorSchemeProvider,
package/dist/renderer.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { R } from "./RichRenderer-DALnGZXp.js";
1
+ import { R } from "./RichRenderer-CtBjK31O.js";
2
2
  export {
3
3
  R as RichRenderer
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/transformers/alert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAkC3D,eAAO,MAAM,qBAAqB,EAAE,kBA6DnC,CAAA"}
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/transformers/alert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAiB3D,eAAO,MAAM,qBAAqB,EAAE,kBAsCnC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/transformers/container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAqC3D,eAAO,MAAM,qBAAqB,EAAE,kBAgFnC,CAAA"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/transformers/container.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAqB3D,eAAO,MAAM,qBAAqB,EAAE,kBAiEnC,CAAA"}
@@ -1,10 +1,4 @@
1
1
  import { ElementTransformer, TextMatchTransformer } from '@lexical/markdown';
2
- /**
3
- * Footnote reference transformer: [^1] → FootnoteNode
4
- */
5
2
  export declare const FOOTNOTE_TRANSFORMER: TextMatchTransformer;
6
- /**
7
- * Footnote section transformer: [^id]: content → FootnoteSectionNode
8
- */
9
3
  export declare const FOOTNOTE_SECTION_TRANSFORMER: ElementTransformer;
10
4
  //# sourceMappingURL=footnote.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"footnote.d.ts","sourceRoot":"","sources":["../../src/transformers/footnote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,mBAAmB,CAAA;AAa1B;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBAclC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,kBA8B1C,CAAA"}
1
+ {"version":3,"file":"footnote.d.ts","sourceRoot":"","sources":["../../src/transformers/footnote.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,mBAAmB,CAAA;AAS1B,eAAO,MAAM,oBAAoB,EAAE,oBAOlC,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,kBAuB1C,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ElementTransformer } from '@lexical/markdown';
2
+ export declare const GRID_CONTAINER_BLOCK_TRANSFORMER: ElementTransformer;
3
+ //# sourceMappingURL=grid-container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-container.d.ts","sourceRoot":"","sources":["../../src/transformers/grid-container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAS3D,eAAO,MAAM,gCAAgC,EAAE,kBAe9C,CAAA"}
@@ -5,5 +5,6 @@ export { FOOTNOTE_SECTION_TRANSFORMER, FOOTNOTE_TRANSFORMER } from './footnote';
5
5
  export { INSERT_TRANSFORMER } from './insert';
6
6
  export { KATEX_BLOCK_TRANSFORMER, KATEX_INLINE_TRANSFORMER } from './katex';
7
7
  export { MENTION_TRANSFORMER } from './mention';
8
+ export { CODE_BLOCK_NODE_TRANSFORMER, GRID_CONTAINER_BLOCK_TRANSFORMER, HORIZONTAL_RULE_BLOCK_TRANSFORMER, IMAGE_BLOCK_TRANSFORMER, LINK_CARD_BLOCK_TRANSFORMER, MERMAID_BLOCK_TRANSFORMER, TABLE_BLOCK_TRANSFORMER, VIDEO_BLOCK_TRANSFORMER, } from './rich-blocks';
8
9
  export { SPOILER_TRANSFORMER } from './spoiler';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transformers/index.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,gBAAgB,2CAc5B,CAAA;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transformers/index.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,gBAAgB,2CAsB5B,CAAA;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA"}
@@ -1,6 +1,2 @@
1
- import { TextFormatTransformer } from '@lexical/markdown';
2
- /**
3
- * Insert text transformer: ++text++ → underline format
4
- */
5
- export declare const INSERT_TRANSFORMER: TextFormatTransformer;
1
+ export { INSERT_TRANSFORMER } from '@haklex/rich-headless/transformers';
6
2
  //# sourceMappingURL=insert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/transformers/insert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE9D;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,qBAIhC,CAAA"}
1
+ {"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../src/transformers/insert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"katex.d.ts","sourceRoot":"","sources":["../../src/transformers/katex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAa7D,eAAO,MAAM,wBAAwB,EAAE,oBActC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,oBAcrC,CAAA"}
1
+ {"version":3,"file":"katex.d.ts","sourceRoot":"","sources":["../../src/transformers/katex.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAQ7D,eAAO,MAAM,wBAAwB,EAAE,oBAOtC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,oBAOrC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"mention.d.ts","sourceRoot":"","sources":["../../src/transformers/mention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAQ7D,eAAO,MAAM,mBAAmB,EAAE,oBAiBjC,CAAA"}
1
+ {"version":3,"file":"mention.d.ts","sourceRoot":"","sources":["../../src/transformers/mention.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAI7D,eAAO,MAAM,mBAAmB,EAAE,oBAQjC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { GRID_CONTAINER_BLOCK_TRANSFORMER } from './grid-container';
2
+ export { CODE_BLOCK_NODE_TRANSFORMER, HORIZONTAL_RULE_BLOCK_TRANSFORMER, IMAGE_BLOCK_TRANSFORMER, LINK_CARD_BLOCK_TRANSFORMER, MERMAID_BLOCK_TRANSFORMER, TABLE_BLOCK_TRANSFORMER, VIDEO_BLOCK_TRANSFORMER, } from '@haklex/rich-headless/transformers';
3
+ //# sourceMappingURL=rich-blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-blocks.d.ts","sourceRoot":"","sources":["../../src/transformers/rich-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,oCAAoC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"spoiler.d.ts","sourceRoot":"","sources":["../../src/transformers/spoiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAS7D,eAAO,MAAM,mBAAmB,EAAE,oBAgBjC,CAAA"}
1
+ {"version":3,"file":"spoiler.d.ts","sourceRoot":"","sources":["../../src/transformers/spoiler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAK7D,eAAO,MAAM,mBAAmB,EAAE,oBAQjC,CAAA"}
package/dist/types.d.ts CHANGED
@@ -13,6 +13,7 @@ export interface RichEditorProps {
13
13
  autoFocus?: boolean;
14
14
  className?: string;
15
15
  contentClassName?: string;
16
+ style?: React.CSSProperties;
16
17
  actions?: ReactNode;
17
18
  onEditorReady?: (editor: LexicalEditor | null) => void;
18
19
  extraNodes?: Array<Klass<LexicalNode>>;
@@ -25,6 +26,7 @@ export interface RichRendererProps {
25
26
  variant?: RichEditorVariant;
26
27
  theme?: ColorScheme;
27
28
  className?: string;
29
+ style?: React.CSSProperties;
28
30
  as?: React.ElementType;
29
31
  rendererConfig?: RendererConfig;
30
32
  extraNodes?: Array<Klass<LexicalNode>>;
@@ -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,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,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,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,qBAAqB,CAAA;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACtB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;CACvC"}
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,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,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,qBAAqB,CAAA;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACtB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;CACvC"}
@@ -259,9 +259,6 @@ class FootnoteNode extends DecoratorNode {
259
259
  function $createFootnoteNode(identifier) {
260
260
  return new FootnoteNode(identifier);
261
261
  }
262
- function $isFootnoteNode(node) {
263
- return node instanceof FootnoteNode;
264
- }
265
262
  let katexModule = null;
266
263
  let katexLoadPromise = null;
267
264
  function loadKaTeX() {
@@ -441,9 +438,6 @@ class MentionNode extends DecoratorNode {
441
438
  function $createMentionNode(platform, handle, displayName) {
442
439
  return new MentionNode(platform, handle, displayName);
443
440
  }
444
- function $isMentionNode(node) {
445
- return node instanceof MentionNode;
446
- }
447
441
  class SpoilerNode extends ElementNode {
448
442
  static getType() {
449
443
  return "spoiler";
@@ -503,9 +497,6 @@ class SpoilerNode extends ElementNode {
503
497
  function $createSpoilerNode() {
504
498
  return new SpoilerNode();
505
499
  }
506
- function $isSpoilerNode(node) {
507
- return node instanceof SpoilerNode;
508
- }
509
500
  const NESTED_EDITOR_NODES = [
510
501
  HeadingNode,
511
502
  QuoteNode,
@@ -1147,9 +1138,6 @@ let DetailsNode = _DetailsNode;
1147
1138
  function $createDetailsNode(summary, open = false) {
1148
1139
  return new DetailsNode(summary, open);
1149
1140
  }
1150
- function $isDetailsNode(node) {
1151
- return node instanceof DetailsNode;
1152
- }
1153
1141
  function FootnoteSectionRenderer({
1154
1142
  definitions
1155
1143
  }) {
@@ -2317,13 +2305,9 @@ export {
2317
2305
  $createKaTeXBlockNode as ae,
2318
2306
  $createBannerNode as af,
2319
2307
  $createDetailsNode as ag,
2320
- $isDetailsNode as ah,
2321
- $createFootnoteNode as ai,
2322
- $isFootnoteNode as aj,
2323
- $createMentionNode as ak,
2324
- $isMentionNode as al,
2325
- $createSpoilerNode as am,
2326
- $isSpoilerNode as an,
2308
+ $createFootnoteNode as ah,
2309
+ $createMentionNode as ai,
2310
+ $createSpoilerNode as aj,
2327
2311
  builtinNodes as b,
2328
2312
  customNodes as c,
2329
2313
  clsx as d,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haklex/rich-editor",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "Core rich text editor based on Lexical",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,8 +25,9 @@
25
25
  ],
26
26
  "dependencies": {
27
27
  "thumbhash": "^0.1.1",
28
- "@haklex/rich-style-token": "0.0.10",
29
- "@haklex/rich-editor-ui": "0.0.10"
28
+ "@haklex/rich-editor-ui": "0.0.12",
29
+ "@haklex/rich-style-token": "0.0.12",
30
+ "@haklex/rich-headless": "0.0.12"
30
31
  },
31
32
  "devDependencies": {
32
33
  "@base-ui/react": "^1.1.0",