@multiplatform.one/rich-text 7.7.4 → 7.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/cjs/RichEditor.native.js +18 -7
  2. package/dist/cjs/RichEditor.native.js.map +1 -1
  3. package/dist/cjs/RichTextEditor/index.cjs +2 -0
  4. package/dist/cjs/RichTextEditor/index.native.js +2 -0
  5. package/dist/cjs/RichTextEditor/index.native.js.map +1 -1
  6. package/dist/cjs/editor/TentapEditor.native.js +29 -39
  7. package/dist/cjs/editor/TentapEditor.native.js.map +1 -1
  8. package/dist/cjs/editor/TiptapEditor.cjs +6 -2
  9. package/dist/cjs/editor/TiptapEditor.native.js +8 -4
  10. package/dist/cjs/editor/TiptapEditor.native.js.map +1 -1
  11. package/dist/cjs/editor/blockAnchor.cjs +3 -2
  12. package/dist/cjs/editor/blockAnchor.native.js +4 -2
  13. package/dist/cjs/editor/blockAnchor.native.js.map +1 -1
  14. package/dist/cjs/editor/nativeEditorCSS.cjs +30 -0
  15. package/dist/cjs/editor/nativeEditorCSS.native.js +33 -0
  16. package/dist/cjs/editor/nativeEditorCSS.native.js.map +1 -0
  17. package/dist/cjs/toolbar/HeadingPicker.cjs +7 -0
  18. package/dist/cjs/toolbar/HeadingPicker.native.js +13 -17
  19. package/dist/cjs/toolbar/HeadingPicker.native.js.map +1 -1
  20. package/dist/cjs/toolbar/ListPicker.cjs +7 -0
  21. package/dist/cjs/toolbar/ListPicker.native.js +12 -11
  22. package/dist/cjs/toolbar/ListPicker.native.js.map +1 -1
  23. package/dist/cjs/toolbar/MoreDropdown.cjs +7 -0
  24. package/dist/cjs/toolbar/MoreDropdown.native.js +12 -11
  25. package/dist/cjs/toolbar/MoreDropdown.native.js.map +1 -1
  26. package/dist/esm/RichEditor.native.js +19 -8
  27. package/dist/esm/RichEditor.native.js.map +1 -1
  28. package/dist/esm/RichTextEditor/index.mjs +2 -0
  29. package/dist/esm/RichTextEditor/index.mjs.map +1 -1
  30. package/dist/esm/RichTextEditor/index.native.js +2 -0
  31. package/dist/esm/RichTextEditor/index.native.js.map +1 -1
  32. package/dist/esm/editor/TentapEditor.native.js +29 -39
  33. package/dist/esm/editor/TentapEditor.native.js.map +1 -1
  34. package/dist/esm/editor/TiptapEditor.mjs +6 -2
  35. package/dist/esm/editor/TiptapEditor.mjs.map +1 -1
  36. package/dist/esm/editor/TiptapEditor.native.js +8 -4
  37. package/dist/esm/editor/TiptapEditor.native.js.map +1 -1
  38. package/dist/esm/editor/blockAnchor.mjs +3 -2
  39. package/dist/esm/editor/blockAnchor.mjs.map +1 -1
  40. package/dist/esm/editor/blockAnchor.native.js +4 -2
  41. package/dist/esm/editor/blockAnchor.native.js.map +1 -1
  42. package/dist/esm/editor/nativeEditorCSS.mjs +5 -0
  43. package/dist/esm/editor/nativeEditorCSS.mjs.map +1 -0
  44. package/dist/esm/editor/nativeEditorCSS.native.js +5 -0
  45. package/dist/esm/editor/nativeEditorCSS.native.js.map +1 -0
  46. package/dist/esm/toolbar/HeadingPicker.mjs +7 -0
  47. package/dist/esm/toolbar/HeadingPicker.mjs.map +1 -1
  48. package/dist/esm/toolbar/HeadingPicker.native.js +13 -17
  49. package/dist/esm/toolbar/HeadingPicker.native.js.map +1 -1
  50. package/dist/esm/toolbar/ListPicker.mjs +7 -0
  51. package/dist/esm/toolbar/ListPicker.mjs.map +1 -1
  52. package/dist/esm/toolbar/ListPicker.native.js +12 -11
  53. package/dist/esm/toolbar/ListPicker.native.js.map +1 -1
  54. package/dist/esm/toolbar/MoreDropdown.mjs +7 -0
  55. package/dist/esm/toolbar/MoreDropdown.mjs.map +1 -1
  56. package/dist/esm/toolbar/MoreDropdown.native.js +12 -11
  57. package/dist/esm/toolbar/MoreDropdown.native.js.map +1 -1
  58. package/dist/jsx/RichEditor.native.js +18 -7
  59. package/dist/jsx/RichEditor.native.js.map +1 -1
  60. package/dist/jsx/RichTextEditor/index.mjs +2 -0
  61. package/dist/jsx/RichTextEditor/index.mjs.map +1 -1
  62. package/dist/jsx/RichTextEditor/index.native.js +2 -0
  63. package/dist/jsx/RichTextEditor/index.native.js.map +1 -1
  64. package/dist/jsx/editor/TentapEditor.native.js +29 -39
  65. package/dist/jsx/editor/TentapEditor.native.js.map +1 -1
  66. package/dist/jsx/editor/TiptapEditor.mjs +6 -2
  67. package/dist/jsx/editor/TiptapEditor.mjs.map +1 -1
  68. package/dist/jsx/editor/TiptapEditor.native.js +8 -4
  69. package/dist/jsx/editor/TiptapEditor.native.js.map +1 -1
  70. package/dist/jsx/editor/blockAnchor.mjs +3 -2
  71. package/dist/jsx/editor/blockAnchor.mjs.map +1 -1
  72. package/dist/jsx/editor/blockAnchor.native.js +4 -2
  73. package/dist/jsx/editor/blockAnchor.native.js.map +1 -1
  74. package/dist/jsx/editor/nativeEditorCSS.mjs +5 -0
  75. package/dist/jsx/editor/nativeEditorCSS.mjs.map +1 -0
  76. package/dist/jsx/editor/nativeEditorCSS.native.js +33 -0
  77. package/dist/jsx/editor/nativeEditorCSS.native.js.map +1 -0
  78. package/dist/jsx/toolbar/HeadingPicker.mjs +7 -0
  79. package/dist/jsx/toolbar/HeadingPicker.mjs.map +1 -1
  80. package/dist/jsx/toolbar/HeadingPicker.native.js +13 -17
  81. package/dist/jsx/toolbar/HeadingPicker.native.js.map +1 -1
  82. package/dist/jsx/toolbar/ListPicker.mjs +7 -0
  83. package/dist/jsx/toolbar/ListPicker.mjs.map +1 -1
  84. package/dist/jsx/toolbar/ListPicker.native.js +12 -11
  85. package/dist/jsx/toolbar/ListPicker.native.js.map +1 -1
  86. package/dist/jsx/toolbar/MoreDropdown.mjs +7 -0
  87. package/dist/jsx/toolbar/MoreDropdown.mjs.map +1 -1
  88. package/dist/jsx/toolbar/MoreDropdown.native.js +12 -11
  89. package/dist/jsx/toolbar/MoreDropdown.native.js.map +1 -1
  90. package/package.json +10 -8
  91. package/src/RichEditor.native.spec.tsx +158 -0
  92. package/src/RichEditor.native.tsx +28 -7
  93. package/src/RichTextEditor/index.tsx +4 -2
  94. package/src/RichTextEditor/richTextEditor.spec.tsx +40 -6
  95. package/src/editor/SlashCommands.spec.tsx +3 -1
  96. package/src/editor/TentapEditor.native.spec.tsx +120 -0
  97. package/src/editor/TentapEditor.native.tsx +40 -54
  98. package/src/editor/TiptapEditor.tsx +2 -2
  99. package/src/editor/blockAnchor.ts +3 -2
  100. package/src/editor/nativeEditorCSS.spec.ts +75 -0
  101. package/src/editor/nativeEditorCSS.ts +4 -0
  102. package/src/integration.spec.tsx +0 -23
  103. package/src/richEditor.spec.tsx +0 -23
  104. package/src/toolbar/HeadingPicker.tsx +14 -15
  105. package/src/toolbar/ListPicker.tsx +13 -9
  106. package/src/toolbar/MoreDropdown.tsx +13 -9
  107. package/src/toolbar/bubbleToolbar.spec.tsx +2 -1
  108. package/src/toolbar/fixedToolbarStories.spec.tsx +4 -2
  109. package/src/toolbar/statusBarStories.spec.tsx +4 -2
  110. package/src/toolbar/toolbarButtonStories.spec.tsx +4 -2
  111. package/src/toolbar/toolbarGroupStories.spec.tsx +4 -2
  112. package/types/RichEditor.native.d.ts.map +1 -1
  113. package/types/RichTextEditor/index.d.ts +1 -1
  114. package/types/RichTextEditor/index.d.ts.map +1 -1
  115. package/types/editor/TentapEditor.native.d.ts.map +1 -1
  116. package/types/editor/blockAnchor.d.ts.map +1 -1
  117. package/types/editor/nativeEditorCSS.d.ts +3 -0
  118. package/types/editor/nativeEditorCSS.d.ts.map +1 -0
  119. package/types/toolbar/HeadingPicker.d.ts.map +1 -1
  120. package/types/toolbar/ListPicker.d.ts.map +1 -1
  121. package/types/toolbar/MoreDropdown.d.ts.map +1 -1
@@ -447,10 +447,10 @@ export const TiptapEditor = memo(
447
447
  getHTML: () => editor?.getHTML() || "",
448
448
  getJSON: () => editor?.getJSON() || null,
449
449
  getMarkdown: () => htmlToMarkdown(editor?.getHTML() || ""),
450
- setHTML: (html: string) => editor?.commands.setContent(html),
451
- setJSON: (json: any) => editor?.commands.setContent(json),
452
450
  // External value sync (not a user edit): emitUpdate false so the
453
451
  // host's own set does not echo back through onChange.
452
+ setHTML: (html: string) => editor?.commands.setContent(html, { emitUpdate: false }),
453
+ setJSON: (json: any) => editor?.commands.setContent(json, { emitUpdate: false }),
454
454
  setMarkdown: (markdown: string) =>
455
455
  editor?.commands.setContent(markdownToHtml(markdown), { emitUpdate: false }),
456
456
  focus: () => editor?.commands.focus(),
@@ -32,9 +32,10 @@ export function getBlockVirtualElement(
32
32
  if ($from.node(depth).type.name !== nodeTypeName) continue;
33
33
  const dom = editor.view.nodeDOM($from.before(depth));
34
34
  if (dom instanceof HTMLElement) {
35
+ const block = dom.querySelector<HTMLElement>(":scope > table") ?? dom;
35
36
  return {
36
- getBoundingClientRect: () => dom.getBoundingClientRect(),
37
- contextElement: dom,
37
+ getBoundingClientRect: () => block.getBoundingClientRect(),
38
+ contextElement: block,
38
39
  };
39
40
  }
40
41
  }
@@ -0,0 +1,75 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import path from "node:path";
4
+ import { runInNewContext } from "node:vm";
5
+ import { afterEach, describe, expect, it } from "vitest";
6
+ import { getEditorCSS } from "./editorStyles";
7
+ import { escapeNativeEditorCSS } from "./nativeEditorCSS";
8
+
9
+ // Execute the installed transport instead of copying its template-literal
10
+ // serializer. Only its unused native platform import needs a test stub.
11
+ const require = createRequire(import.meta.url);
12
+ const upstreamExports: Record<string, any> = {};
13
+ runInNewContext(
14
+ readFileSync(
15
+ path.join(
16
+ path.dirname(require.resolve("@10play/tentap-editor/package.json")),
17
+ "lib/commonjs/RichText/utils.js",
18
+ ),
19
+ "utf8",
20
+ ),
21
+ { exports: upstreamExports, require: () => ({ Platform: { OS: "ios" } }) },
22
+ );
23
+
24
+ function injectCSS(css: string, tag: string) {
25
+ const context = { document, cssContent: "" };
26
+ runInNewContext(upstreamExports.getStyleSheetCSS(escapeNativeEditorCSS(css), tag), context);
27
+ return context.cssContent;
28
+ }
29
+
30
+ afterEach(() => {
31
+ document.head.querySelectorAll("style[data-tag]").forEach((node) => node.remove());
32
+ document.body.innerHTML = "";
33
+ });
34
+
35
+ describe("native editor CSS transport", () => {
36
+ it("delivers the full content stylesheet and its typing inset", () => {
37
+ const css = getEditorCSS({
38
+ bodyFontFamily: "system-ui, sans-serif",
39
+ fullscreen: true,
40
+ motionMs: 0,
41
+ });
42
+ expect(injectCSS(css, "content")).toBe(css);
43
+ const editor = document.createElement("div");
44
+ editor.className = "ProseMirror";
45
+ document.body.append(editor);
46
+ expect(getComputedStyle(editor).paddingLeft).toBe("16px");
47
+ expect(getComputedStyle(editor).paddingRight).toBe("12px");
48
+ expect(getComputedStyle(editor).fontFamily).toBe("system-ui, sans-serif");
49
+ });
50
+
51
+ it("preserves CSS escapes and literal template syntax without executing it", () => {
52
+ const css = String.raw`.ProseMirror::before { content: "\25B8 \` \${document.body.textContent = "executed"}"; }`;
53
+ expect(injectCSS(css, "content")).toBe(css);
54
+ expect(document.body.textContent).toBe("");
55
+ });
56
+
57
+ it.each([
58
+ '.ProseMirror::before { content: "`"; }',
59
+ ".ProseMirror::before { content: \"${document.body.textContent = 'executed'}\"; }",
60
+ ])("keeps raw template characters literal: %s", (css) => {
61
+ expect(injectCSS(css, "content")).toBe(css);
62
+ expect(document.body.textContent).toBe("");
63
+ });
64
+
65
+ it("replaces a tagged stylesheet without changing document contents", () => {
66
+ document.body.innerHTML = '<div class="ProseMirror">Saved <strong>text</strong></div>';
67
+ injectCSS(".ProseMirror { padding: 2px; }", "content");
68
+ const next = getEditorCSS({ bodyFontFamily: "Georgia, serif" });
69
+ expect(injectCSS(next, "content")).toBe(next);
70
+ expect(document.querySelectorAll('style[data-tag="content"]')).toHaveLength(1);
71
+ expect(document.body.innerHTML).toBe(
72
+ '<div class="ProseMirror">Saved <strong>text</strong></div>',
73
+ );
74
+ });
75
+ });
@@ -0,0 +1,4 @@
1
+ /** TenTap 1.x embeds CSS in a JavaScript template literal without escaping it. */
2
+ export function escapeNativeEditorCSS(css: string): string {
3
+ return css.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
4
+ }
@@ -149,29 +149,6 @@ vi.mock("@multiplatform.one/components", async (importOriginal) => ({
149
149
  Tooltip: ({ children }: any) => children,
150
150
  }));
151
151
 
152
- vi.mock("@multiplatform.one/theme", async (importOriginal) => ({
153
- ...(await importOriginal<Record<string, unknown>>()),
154
- useResolvedKnobs: () => ({
155
- knobProps: {
156
- body: {},
157
- borderRadius: { borderRadius: "$3", borderWidth: 1 },
158
- elevation: undefined,
159
- sizeToken: "$4",
160
- outlined: false,
161
- inputBackground: "$color2",
162
- textAccentColor: "$color",
163
- transition: undefined,
164
- heading: {},
165
- },
166
- control: {
167
- hoverKnobProps: undefined,
168
- pressKnobProps: undefined,
169
- focusKnobProps: undefined,
170
- focusVisibleKnobProps: undefined,
171
- },
172
- }),
173
- }));
174
-
175
152
  vi.mock("@tiptap/react/menus", () => ({
176
153
  BubbleMenu: ({ children }: any) => <div data-testid="bubble-menu">{children}</div>,
177
154
  }));
@@ -32,29 +32,6 @@ vi.mock("@multiplatform.one/components", async (importOriginal) => ({
32
32
  Tooltip: ({ children }: any) => children,
33
33
  }));
34
34
 
35
- vi.mock("@multiplatform.one/theme", async (importOriginal) => ({
36
- ...(await importOriginal<Record<string, unknown>>()),
37
- useResolvedKnobs: (_options?: any) => ({
38
- knobProps: {
39
- body: {},
40
- borderRadius: { borderRadius: "$3", borderWidth: 1 },
41
- elevation: undefined,
42
- sizeToken: "$4",
43
- outlined: false,
44
- inputBackground: "$color2",
45
- textAccentColor: "$color",
46
- transition: undefined,
47
- heading: {},
48
- },
49
- control: {
50
- hoverKnobProps: undefined,
51
- pressKnobProps: undefined,
52
- focusKnobProps: undefined,
53
- focusVisibleKnobProps: undefined,
54
- },
55
- }),
56
- }));
57
-
58
35
  vi.mock("@tiptap/react/menus", () => ({
59
36
  BubbleMenu: ({ children }: any) => <div data-testid="bubble-menu">{children}</div>,
60
37
  }));
@@ -136,21 +136,20 @@ export function HeadingPicker({ editorRef, state, disabled }: HeadingPickerProps
136
136
  <Text fontWeight="600">{getActiveHeadingLabel(state)}</Text>
137
137
  </ToolbarDropdownButton>
138
138
  </DropdownMenu.Trigger>
139
- {/*
140
- * MPO-85: no onCloseAutoFocus. DropdownMenuContentProps used to extend
141
- * PopoverContentProps and DropdownMenuContent used to spread `...props`,
142
- * so this handler reached the overlay. The DropdownMenu rewrite dropped
143
- * both: the interface now declares four props and the component reads
144
- * only `children`, so the handler was already being discarded before it
145
- * failed the build with TS2322.
146
- *
147
- * Restore the pass here in the same change that gives DropdownMenu.Content
148
- * its prop pass-through back. Until then the intent is: toolbar menus must
149
- * not steal focus back to the trigger on select-close, because the user
150
- * expects to keep typing, so focus returns to the editor. Escape still
151
- * restores the trigger via the menu's own close().
152
- */}
153
- <DropdownMenu.Content minWidth={200}>
139
+ <DropdownMenu.Content
140
+ minWidth={200}
141
+ // Toolbar menus must not steal focus back to the trigger on
142
+ // select-close: the user expects to keep typing, so focus returns
143
+ // to the editor. Escape still restores the trigger via the menu's
144
+ // own close().
145
+ onCloseAutoFocus={(event) => {
146
+ if (selectedRef.current) {
147
+ event.preventDefault();
148
+ selectedRef.current = false;
149
+ editorRef.current?.focus();
150
+ }
151
+ }}
152
+ >
154
153
  {HEADING_OPTIONS.map((option) => {
155
154
  const description = option.description();
156
155
  return (
@@ -86,15 +86,19 @@ export function ListPicker({ editorRef, state, disabled }: ListPickerProps) {
86
86
  <ActiveIcon />
87
87
  </ToolbarDropdownButton>
88
88
  </DropdownMenu.Trigger>
89
- {/*
90
- * MPO-85: no onCloseAutoFocus — DropdownMenu.Content stopped accepting
91
- * and forwarding it, so the handler was already discarded before it
92
- * failed the build. Intent, to restore with the pass-through: toolbar
93
- * menus must not steal focus back to the trigger on select-close, so
94
- * focus returns to the editor and typing continues. Escape still
95
- * restores the trigger via the menu's own close().
96
- */}
97
- <DropdownMenu.Content minWidth={150}>
89
+ <DropdownMenu.Content
90
+ minWidth={150}
91
+ // Toolbar menus must not steal focus back to the trigger on
92
+ // select-close: focus returns to the editor so typing continues.
93
+ // Escape still restores the trigger via the menu's own close().
94
+ onCloseAutoFocus={(event) => {
95
+ if (selectedRef.current) {
96
+ event.preventDefault();
97
+ selectedRef.current = false;
98
+ editorRef.current?.focus();
99
+ }
100
+ }}
101
+ >
98
102
  {LIST_OPTIONS.map((option) => {
99
103
  const Icon = option.icon;
100
104
  const label = option.label();
@@ -170,15 +170,19 @@ export function MoreDropdown({
170
170
  <MoreIcon />
171
171
  </ToolbarButton>
172
172
  </DropdownMenu.Trigger>
173
- {/*
174
- * MPO-85: no onCloseAutoFocus — DropdownMenu.Content stopped accepting
175
- * and forwarding it, so the handler was already discarded before it
176
- * failed the build. Intent, to restore with the pass-through: toolbar
177
- * menus must not steal focus back to the trigger on select-close, so
178
- * focus returns to the editor and typing continues. Escape still
179
- * restores the trigger via the menu's own close().
180
- */}
181
- <DropdownMenu.Content minWidth={200}>
173
+ <DropdownMenu.Content
174
+ minWidth={200}
175
+ // Toolbar menus must not steal focus back to the trigger on
176
+ // select-close: focus returns to the editor so typing continues.
177
+ // Escape still restores the trigger via the menu's own close().
178
+ onCloseAutoFocus={(event) => {
179
+ if (selectedRef.current) {
180
+ event.preventDefault();
181
+ selectedRef.current = false;
182
+ editorRef.current?.focus();
183
+ }
184
+ }}
185
+ >
182
186
  {inlineItems.length > 0 && (
183
187
  <>
184
188
  <ItemSection items={inlineItems} state={state} onSelect={handleSelect} />
@@ -17,7 +17,8 @@ vi.mock("@multiplatform.one/forms", async (importOriginal) => ({
17
17
  ),
18
18
  }));
19
19
 
20
- vi.mock("@multiplatform.one/components", () => ({
20
+ vi.mock("@multiplatform.one/components", async (importOriginal) => ({
21
+ ...(await importOriginal<Record<string, unknown>>()),
21
22
  Tooltip: ({ children }: any) => children,
22
23
  }));
23
24
 
@@ -65,13 +65,15 @@ type FixedToolbarStoryArgs = import("./FixedToolbar.stories").FixedToolbarStoryA
65
65
 
66
66
  type StoryLike = {
67
67
  args?: Partial<FixedToolbarStoryArgs>;
68
- render?: (args: FixedToolbarStoryArgs) => React.ReactElement;
68
+ render?: unknown;
69
69
  };
70
70
 
71
71
  /** Resolve a story the way Storybook does: meta args, story args, story render. */
72
72
  function mount(story: StoryLike) {
73
73
  const args = { ...(meta.args as FixedToolbarStoryArgs), ...story.args };
74
- const render = story.render ?? (meta.render as StoryLike["render"]);
74
+ const render = (story.render ?? meta.render) as
75
+ | ((args: FixedToolbarStoryArgs) => React.ReactElement)
76
+ | undefined;
75
77
  if (!render) throw new Error("story has no render");
76
78
  const Story = () => render(args);
77
79
  const Decorator = meta.decorators?.[0] as
@@ -11,13 +11,15 @@ import type { StatusBarStoryArgs } from "./StatusBar.stories";
11
11
 
12
12
  type StoryLike = {
13
13
  args?: Partial<StatusBarStoryArgs>;
14
- render?: (args: StatusBarStoryArgs) => React.ReactElement;
14
+ render?: unknown;
15
15
  };
16
16
 
17
17
  /** Resolve a story the way Storybook does: meta args, story args, story render. */
18
18
  function mount(story: StoryLike) {
19
19
  const args = { ...(meta.args as StatusBarStoryArgs), ...story.args };
20
- const render = story.render ?? (meta.render as StoryLike["render"]);
20
+ const render = (story.render ?? meta.render) as
21
+ | ((args: StatusBarStoryArgs) => React.ReactElement)
22
+ | undefined;
21
23
  if (!render) throw new Error("story has no render");
22
24
  const Story = () => render(args);
23
25
  const Decorator = meta.decorators?.[0] as
@@ -38,13 +38,15 @@ type ToolbarButtonStoryArgs = import("./ToolbarButton.stories").ToolbarButtonSto
38
38
 
39
39
  type StoryLike = {
40
40
  args?: Partial<ToolbarButtonStoryArgs>;
41
- render?: (args: ToolbarButtonStoryArgs) => React.ReactElement;
41
+ render?: unknown;
42
42
  };
43
43
 
44
44
  /** Resolve a story the way Storybook does: meta args, story args, story render. */
45
45
  function mount(story: StoryLike) {
46
46
  const args = { ...(meta.args as ToolbarButtonStoryArgs), ...story.args };
47
- const render = story.render ?? (meta.render as StoryLike["render"]);
47
+ const render = (story.render ?? meta.render) as
48
+ | ((args: ToolbarButtonStoryArgs) => React.ReactElement)
49
+ | undefined;
48
50
  if (!render) throw new Error("story has no render");
49
51
  const Story = () => render(args);
50
52
  const Decorator = meta.decorators?.[0] as
@@ -31,13 +31,15 @@ type ToolbarGroupStoryArgs = import("./ToolbarGroup.stories").ToolbarGroupStoryA
31
31
 
32
32
  type StoryLike = {
33
33
  args?: Partial<ToolbarGroupStoryArgs>;
34
- render?: (args: ToolbarGroupStoryArgs) => React.ReactElement;
34
+ render?: unknown;
35
35
  };
36
36
 
37
37
  /** Resolve a story the way Storybook does: meta args, story args, story render. */
38
38
  function mount(story: StoryLike) {
39
39
  const args = { ...(meta.args as ToolbarGroupStoryArgs), ...story.args };
40
- const render = story.render ?? (meta.render as StoryLike["render"]);
40
+ const render = (story.render ?? meta.render) as
41
+ | ((args: ToolbarGroupStoryArgs) => React.ReactElement)
42
+ | undefined;
41
43
  if (!render) throw new Error("story has no render");
42
44
  const Story = () => render(args);
43
45
  const Decorator = meta.decorators?.[0] as
@@ -1 +1 @@
1
- {"version":3,"file":"RichEditor.native.d.ts","sourceRoot":"","sources":["../src/RichEditor.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAI1C,OAAO,KAAK,EAAe,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI3F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAUtD,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,gCAAgC;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAMD,8EAA8E;AAC9E,iBAAS,mBAAmB,SAE3B;AAigBD,eAAO,MAAM,UAAU;;;;CAIrB,CAAC"}
1
+ {"version":3,"file":"RichEditor.native.d.ts","sourceRoot":"","sources":["../src/RichEditor.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAU1C,OAAO,KAAK,EAAe,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI3F,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAUtD,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,gCAAgC;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAMD,8EAA8E;AAC9E,iBAAS,mBAAmB,SAE3B;AAghBD,eAAO,MAAM,UAAU;;;;CAIrB,CAAC"}
@@ -19,7 +19,7 @@ import type { EditorCapabilities, RichTextMentionOptions, ToolbarSection } from
19
19
  * Tiptap's default empty paragraph as empty values.
20
20
  */
21
21
  export declare function richTextIsEmpty(v: unknown): boolean;
22
- export type RichTextEditorProps<TParentData = any, TName extends DeepKeys<TParentData> = any, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = Omit<FormFieldProps<TParentData, TName, TFieldValidator, TFormValidator, TData>, "children" | "field"> & Partial<Omit<FieldComponentProps<TParentData, TName, TFieldValidator, TFormValidator, TData>, "children">> & {
22
+ export type RichTextEditorProps<TParentData = any, TName extends DeepKeys<TParentData> = any, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = Omit<FormFieldProps<TParentData, TName, TFieldValidator, TFormValidator, TData>, "children" | "field" | "onChange"> & Partial<Omit<FieldComponentProps<TParentData, TName, TFieldValidator, TFormValidator, TData>, "children" | "onChange">> & {
23
23
  value?: string;
24
24
  defaultValue?: string;
25
25
  onChange?: (value: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/RichTextEditor/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/RichTextEditor/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TentapEditor.native.d.ts","sourceRoot":"","sources":["../../src/editor/TentapEditor.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA0BH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAiB,MAAM,UAAU,CAAC;AAqB9E,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,6EAA6E;IAC7E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,eAAO,MAAM,YAAY,6GA4RxB,CAAC"}
1
+ {"version":3,"file":"TentapEditor.native.d.ts","sourceRoot":"","sources":["../../src/editor/TentapEditor.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA0BH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAiB,MAAM,UAAU,CAAC;AAsB9E,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,6EAA6E;IAC7E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,eAAO,MAAM,YAAY,6GA6QxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"blockAnchor.d.ts","sourceRoot":"","sources":["../../src/editor/blockAnchor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,UAAU,mBAAmB;IAC3B,qBAAqB,EAAE,MAAM,OAAO,CAAC;IACrC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,mBAAmB,GAAG,IAAI,CAa5B"}
1
+ {"version":3,"file":"blockAnchor.d.ts","sourceRoot":"","sources":["../../src/editor/blockAnchor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,UAAU,mBAAmB;IAC3B,qBAAqB,EAAE,MAAM,OAAO,CAAC;IACrC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,mBAAmB,GAAG,IAAI,CAc5B"}
@@ -0,0 +1,3 @@
1
+ /** TenTap 1.x embeds CSS in a JavaScript template literal without escaping it. */
2
+ export declare function escapeNativeEditorCSS(css: string): string;
3
+ //# sourceMappingURL=nativeEditorCSS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeEditorCSS.d.ts","sourceRoot":"","sources":["../../src/editor/nativeEditorCSS.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"HeadingPicker.d.ts","sourceRoot":"","sources":["../../src/toolbar/HeadingPicker.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQ1E,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjD,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoGD,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAuD/E"}
1
+ {"version":3,"file":"HeadingPicker.d.ts","sourceRoot":"","sources":["../../src/toolbar/HeadingPicker.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQ1E,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjD,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoGD,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CAsD/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListPicker.d.ts","sourceRoot":"","sources":["../../src/toolbar/ListPicker.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAS1E,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjD,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiDD,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAiDzE"}
1
+ {"version":3,"file":"ListPicker.d.ts","sourceRoot":"","sources":["../../src/toolbar/ListPicker.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAS1E,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjD,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiDD,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAqDzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"MoreDropdown.d.ts","sourceRoot":"","sources":["../../src/toolbar/MoreDropdown.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,kBAAkB,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAgB9F,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjD,KAAK,EAAE,WAAW,CAAC;IACnB,wEAAwE;IACxE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAwGD,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,KAAK,EACL,YAAqB,EACrB,QAAQ,GACT,EAAE,iBAAiB,2CAyDnB"}
1
+ {"version":3,"file":"MoreDropdown.d.ts","sourceRoot":"","sources":["../../src/toolbar/MoreDropdown.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,kBAAkB,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAgB9F,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACjD,KAAK,EAAE,WAAW,CAAC;IACnB,wEAAwE;IACxE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAwGD,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,KAAK,EACL,YAAqB,EACrB,QAAQ,GACT,EAAE,iBAAiB,2CA6DnB"}