@firecms/editor 3.0.0-rc.1 → 3.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/editor-bubble.d.ts +5 -2
- package/dist/editor_extensions.d.ts +6 -6
- package/dist/extensions/index.d.ts +1 -1
- package/dist/extensions/slashCommand.d.ts +1 -1
- package/dist/index.es.js +110 -105
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +115 -111
- package/dist/index.umd.js.map +1 -1
- package/package.json +30 -30
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { type BubbleMenuProps } from "@tiptap/react";
|
|
2
1
|
import { type ReactNode } from "react";
|
|
2
|
+
import { type BubbleMenuProps } from "@tiptap/react/menus";
|
|
3
3
|
export interface EditorBubbleProps extends Omit<BubbleMenuProps, "editor"> {
|
|
4
4
|
children: ReactNode;
|
|
5
|
+
tippyOptions?: {
|
|
6
|
+
placement?: any;
|
|
7
|
+
};
|
|
5
8
|
}
|
|
6
|
-
export declare const EditorBubble: import("react").ForwardRefExoticComponent<EditorBubbleProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const EditorBubble: import("react").ForwardRefExoticComponent<Omit<EditorBubbleProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
10
|
export default EditorBubble;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export declare const placeholder: import("@tiptap/core").Extension<import("@tiptap/
|
|
1
|
+
export declare const placeholder: import("@tiptap/core").Extension<import("@tiptap/extensions").PlaceholderOptions, any>;
|
|
2
2
|
export declare const tiptapLink: import("@tiptap/core").Mark<import("@tiptap/extension-link").LinkOptions, any>;
|
|
3
|
-
export declare const taskList: import("@tiptap/core").Node<import("@tiptap/extension-
|
|
4
|
-
export declare const taskItem: import("@tiptap/core").Node<import("@tiptap/extension-
|
|
3
|
+
export declare const taskList: import("@tiptap/core").Node<import("@tiptap/extension-list").TaskListOptions, any>;
|
|
4
|
+
export declare const taskItem: import("@tiptap/core").Node<import("@tiptap/extension-list").TaskItemOptions, any>;
|
|
5
5
|
export declare const horizontalRule: import("@tiptap/core").Node<import("@tiptap/extension-horizontal-rule").HorizontalRuleOptions, any>;
|
|
6
|
-
export declare const bulletList: import("@tiptap/core").Node<import("@tiptap/extension-
|
|
7
|
-
export declare const orderedList: import("@tiptap/core").Node<import("@tiptap/extension-
|
|
8
|
-
export declare const listItem: import("@tiptap/core").Node<import("@tiptap/extension-list
|
|
6
|
+
export declare const bulletList: import("@tiptap/core").Node<import("@tiptap/extension-list").BulletListOptions, any>;
|
|
7
|
+
export declare const orderedList: import("@tiptap/core").Node<import("@tiptap/extension-list").OrderedListOptions, any>;
|
|
8
|
+
export declare const listItem: import("@tiptap/core").Node<import("@tiptap/extension-list").ListItemOptions, any>;
|
|
9
9
|
export declare const blockquote: import("@tiptap/core").Node<import("@tiptap/extension-blockquote").BlockquoteOptions, any>;
|
|
10
10
|
export declare const codeBlock: import("@tiptap/core").Node<import("@tiptap/extension-code-block").CodeBlockOptions, any>;
|
|
11
11
|
export declare const code: import("@tiptap/core").Mark<import("@tiptap/extension-code").CodeOptions, any>;
|
|
@@ -4,7 +4,7 @@ import TiptapImage from "@tiptap/extension-image";
|
|
|
4
4
|
import { TaskItem } from "@tiptap/extension-task-item";
|
|
5
5
|
import { TaskList } from "@tiptap/extension-task-list";
|
|
6
6
|
import { InputRule } from "@tiptap/core";
|
|
7
|
-
declare const PlaceholderExtension: import("@tiptap/core").Extension<import("@tiptap/
|
|
7
|
+
declare const PlaceholderExtension: import("@tiptap/core").Extension<import("@tiptap/extensions").PlaceholderOptions, any>;
|
|
8
8
|
declare const Horizontal: import("@tiptap/core").Node<import("@tiptap/extension-horizontal-rule").HorizontalRuleOptions, any>;
|
|
9
9
|
export { PlaceholderExtension as Placeholder, StarterKit, Horizontal as HorizontalRule, TiptapLink, TiptapImage, TaskItem, TaskList, InputRule };
|
|
10
10
|
export { getPrevText } from "../utils/utils";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { ReactNode } from "react";
|
|
2
|
-
import { Editor, Node, Range } from "@tiptap/
|
|
2
|
+
import { Editor, Node, Range } from "@tiptap/core";
|
|
3
3
|
import { DOMOutputSpec, Node as ProseMirrorNode } from "@tiptap/pm/model";
|
|
4
4
|
import { PluginKey } from "@tiptap/pm/state";
|
|
5
5
|
import { SuggestionOptions } from "@tiptap/suggestion";
|
package/dist/index.es.js
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React, { forwardRef, useRef, useEffect, useState, useImperativeHandle, useMemo, useDeferredValue } from "react";
|
|
3
3
|
import { TextFieldsIcon, LooksOneIcon, LooksTwoIcon, Looks3Icon, CheckBoxIcon, FormatListBulletedIcon, FormatListNumberedIcon, FormatQuoteIcon, CodeIcon, CheckIcon, KeyboardArrowDownIcon, Button, Popover, cls, focusedDisabled, DeleteIcon, FormatBoldIcon, FormatItalicIcon, FormatUnderlinedIcon, FormatStrikethroughIcon, defaultBorderMixin, ImageIcon, AutoFixHighIcon, useInjectStyles, Separator } from "@firecms/ui";
|
|
4
|
-
import { useCurrentEditor,
|
|
4
|
+
import { useCurrentEditor, ReactRenderer, EditorProvider } from "@tiptap/react";
|
|
5
5
|
import Document from "@tiptap/extension-document";
|
|
6
6
|
import { Markdown } from "tiptap-markdown";
|
|
7
7
|
import Underline from "@tiptap/extension-underline";
|
|
8
8
|
import Heading from "@tiptap/extension-heading";
|
|
9
|
-
import
|
|
9
|
+
import { TextStyleKit } from "@tiptap/extension-text-style";
|
|
10
10
|
import Color from "@tiptap/extension-color";
|
|
11
11
|
import Highlight from "@tiptap/extension-highlight";
|
|
12
12
|
import Bold from "@tiptap/extension-bold";
|
|
13
13
|
import Italic from "@tiptap/extension-italic";
|
|
14
14
|
import Strike from "@tiptap/extension-strike";
|
|
15
15
|
import { c } from "react-compiler-runtime";
|
|
16
|
+
import { BubbleMenu } from "@tiptap/react/menus";
|
|
17
|
+
import { NodeSelection, PluginKey, Plugin } from "@tiptap/pm/state";
|
|
16
18
|
import { Slot } from "@radix-ui/react-slot";
|
|
17
19
|
import StarterKit from "@tiptap/starter-kit";
|
|
18
20
|
import HorizontalRule from "@tiptap/extension-horizontal-rule";
|
|
@@ -21,8 +23,7 @@ import TiptapImage from "@tiptap/extension-image";
|
|
|
21
23
|
import Placeholder from "@tiptap/extension-placeholder";
|
|
22
24
|
import { TaskItem } from "@tiptap/extension-task-item";
|
|
23
25
|
import { TaskList } from "@tiptap/extension-task-list";
|
|
24
|
-
import { Extension, InputRule } from "@tiptap/core";
|
|
25
|
-
import { PluginKey, Plugin, NodeSelection } from "@tiptap/pm/state";
|
|
26
|
+
import { Extension, InputRule, Node, mergeAttributes } from "@tiptap/core";
|
|
26
27
|
import { DecorationSet, Decoration } from "@tiptap/pm/view";
|
|
27
28
|
import OrderedList from "@tiptap/extension-ordered-list";
|
|
28
29
|
import BulletList from "@tiptap/extension-bullet-list";
|
|
@@ -32,118 +33,89 @@ import Blockquote from "@tiptap/extension-blockquote";
|
|
|
32
33
|
import Code from "@tiptap/extension-code";
|
|
33
34
|
import { DOMSerializer } from "@tiptap/pm/model";
|
|
34
35
|
import Suggestion from "@tiptap/suggestion";
|
|
35
|
-
import
|
|
36
|
+
import { computePosition, offset, flip, shift, autoUpdate } from "@floating-ui/dom";
|
|
36
37
|
const EditorBubble = forwardRef((t0, ref) => {
|
|
37
|
-
const $ = c(
|
|
38
|
+
const $ = c(18);
|
|
38
39
|
let children;
|
|
40
|
+
let options;
|
|
39
41
|
let rest;
|
|
40
42
|
let tippyOptions;
|
|
41
43
|
if ($[0] !== t0) {
|
|
42
44
|
({
|
|
43
45
|
children,
|
|
44
46
|
tippyOptions,
|
|
47
|
+
options,
|
|
45
48
|
...rest
|
|
46
49
|
} = t0);
|
|
47
50
|
$[0] = t0;
|
|
48
51
|
$[1] = children;
|
|
49
|
-
$[2] =
|
|
50
|
-
$[3] =
|
|
52
|
+
$[2] = options;
|
|
53
|
+
$[3] = rest;
|
|
54
|
+
$[4] = tippyOptions;
|
|
51
55
|
} else {
|
|
52
56
|
children = $[1];
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
options = $[2];
|
|
58
|
+
rest = $[3];
|
|
59
|
+
tippyOptions = $[4];
|
|
55
60
|
}
|
|
56
61
|
const {
|
|
57
62
|
editor
|
|
58
63
|
} = useCurrentEditor();
|
|
59
|
-
|
|
64
|
+
tippyOptions?.placement;
|
|
60
65
|
let t1;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if (!instanceRef.current || !tippyOptions?.placement) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
instanceRef.current.setProps({
|
|
67
|
-
placement: tippyOptions.placement
|
|
68
|
-
});
|
|
69
|
-
instanceRef.current.popperInstance?.update();
|
|
70
|
-
};
|
|
71
|
-
$[4] = tippyOptions;
|
|
72
|
-
$[5] = t1;
|
|
73
|
-
} else {
|
|
74
|
-
t1 = $[5];
|
|
75
|
-
}
|
|
76
|
-
const t2 = tippyOptions?.placement;
|
|
66
|
+
const shouldShow = _temp$1;
|
|
67
|
+
const t2 = tippyOptions?.placement ?? options?.placement;
|
|
77
68
|
let t3;
|
|
78
|
-
if ($[6] !== t2) {
|
|
79
|
-
t3 =
|
|
69
|
+
if ($[5] !== options || $[6] !== t2) {
|
|
70
|
+
t3 = {
|
|
71
|
+
...options,
|
|
72
|
+
placement: t2
|
|
73
|
+
};
|
|
74
|
+
$[5] = options;
|
|
80
75
|
$[6] = t2;
|
|
81
76
|
$[7] = t3;
|
|
82
77
|
} else {
|
|
83
78
|
t3 = $[7];
|
|
84
79
|
}
|
|
85
|
-
|
|
80
|
+
const mergedOptions = t3;
|
|
86
81
|
let t4;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
90
|
-
t5 = (val) => {
|
|
91
|
-
instanceRef.current = val;
|
|
92
|
-
};
|
|
93
|
-
$[8] = t5;
|
|
94
|
-
} else {
|
|
95
|
-
t5 = $[8];
|
|
96
|
-
}
|
|
97
|
-
let t6;
|
|
98
|
-
if ($[9] !== tippyOptions) {
|
|
99
|
-
t6 = {
|
|
100
|
-
onCreate: t5,
|
|
101
|
-
moveTransition: "transform 0.15s ease-out",
|
|
102
|
-
...tippyOptions
|
|
103
|
-
};
|
|
104
|
-
$[9] = tippyOptions;
|
|
105
|
-
$[10] = t6;
|
|
106
|
-
} else {
|
|
107
|
-
t6 = $[10];
|
|
108
|
-
}
|
|
109
|
-
let t7;
|
|
110
|
-
if ($[11] !== rest || $[12] !== t6) {
|
|
111
|
-
t7 = {
|
|
82
|
+
if ($[8] !== mergedOptions || $[9] !== rest) {
|
|
83
|
+
t4 = {
|
|
112
84
|
shouldShow,
|
|
113
|
-
|
|
85
|
+
options: mergedOptions,
|
|
114
86
|
...rest
|
|
115
87
|
};
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
118
|
-
$[
|
|
88
|
+
$[8] = mergedOptions;
|
|
89
|
+
$[9] = rest;
|
|
90
|
+
$[10] = t4;
|
|
119
91
|
} else {
|
|
120
|
-
|
|
92
|
+
t4 = $[10];
|
|
121
93
|
}
|
|
122
|
-
|
|
123
|
-
const bubbleMenuProps =
|
|
94
|
+
t1 = t4;
|
|
95
|
+
const bubbleMenuProps = t1;
|
|
124
96
|
if (!editor) {
|
|
125
97
|
return null;
|
|
126
98
|
}
|
|
127
|
-
let
|
|
128
|
-
if ($[
|
|
129
|
-
|
|
130
|
-
$[
|
|
131
|
-
$[
|
|
132
|
-
$[
|
|
133
|
-
$[
|
|
99
|
+
let t5;
|
|
100
|
+
if ($[11] !== bubbleMenuProps || $[12] !== children || $[13] !== editor) {
|
|
101
|
+
t5 = /* @__PURE__ */ jsx(BubbleMenu, { editor, ...bubbleMenuProps, children });
|
|
102
|
+
$[11] = bubbleMenuProps;
|
|
103
|
+
$[12] = children;
|
|
104
|
+
$[13] = editor;
|
|
105
|
+
$[14] = t5;
|
|
134
106
|
} else {
|
|
135
|
-
|
|
107
|
+
t5 = $[14];
|
|
136
108
|
}
|
|
137
|
-
let
|
|
138
|
-
if ($[
|
|
139
|
-
|
|
140
|
-
$[
|
|
141
|
-
$[
|
|
142
|
-
$[
|
|
109
|
+
let t6;
|
|
110
|
+
if ($[15] !== ref || $[16] !== t5) {
|
|
111
|
+
t6 = /* @__PURE__ */ jsx("div", { ref, children: t5 });
|
|
112
|
+
$[15] = ref;
|
|
113
|
+
$[16] = t5;
|
|
114
|
+
$[17] = t6;
|
|
143
115
|
} else {
|
|
144
|
-
|
|
116
|
+
t6 = $[17];
|
|
145
117
|
}
|
|
146
|
-
return
|
|
118
|
+
return t6;
|
|
147
119
|
});
|
|
148
120
|
function _temp$1(t0) {
|
|
149
121
|
const {
|
|
@@ -156,7 +128,7 @@ function _temp$1(t0) {
|
|
|
156
128
|
const {
|
|
157
129
|
empty
|
|
158
130
|
} = selection;
|
|
159
|
-
if (editor_0.isActive("image") || empty ||
|
|
131
|
+
if (editor_0.isActive("image") || empty || selection instanceof NodeSelection) {
|
|
160
132
|
return false;
|
|
161
133
|
}
|
|
162
134
|
return true;
|
|
@@ -1324,8 +1296,7 @@ const SlashCommand = Node.create({
|
|
|
1324
1296
|
}) => {
|
|
1325
1297
|
const $from = state.doc.resolve(range.from);
|
|
1326
1298
|
const type = state.schema.nodes[this.name];
|
|
1327
|
-
|
|
1328
|
-
return allow;
|
|
1299
|
+
return !!$from.parent.type.contentMatch.matchType(type);
|
|
1329
1300
|
}
|
|
1330
1301
|
}
|
|
1331
1302
|
};
|
|
@@ -1455,13 +1426,14 @@ const suggestion = (ref, {
|
|
|
1455
1426
|
return availableSuggestionItems.filter((item) => {
|
|
1456
1427
|
const inTitle = item.title.toLowerCase().startsWith(query.toLowerCase());
|
|
1457
1428
|
if (inTitle) return inTitle;
|
|
1458
|
-
|
|
1459
|
-
return inSearchTerms;
|
|
1429
|
+
return item.searchTerms?.some((term) => term.toLowerCase().startsWith(query.toLowerCase()));
|
|
1460
1430
|
});
|
|
1461
1431
|
},
|
|
1462
1432
|
render: () => {
|
|
1463
1433
|
let component;
|
|
1464
|
-
let
|
|
1434
|
+
let containerEl = null;
|
|
1435
|
+
let cleanupAutoUpdate = null;
|
|
1436
|
+
let reference = null;
|
|
1465
1437
|
return {
|
|
1466
1438
|
onStart: (props) => {
|
|
1467
1439
|
component = new ReactRenderer(CommandList, {
|
|
@@ -1475,35 +1447,69 @@ const suggestion = (ref, {
|
|
|
1475
1447
|
if (!props.clientRect) {
|
|
1476
1448
|
return;
|
|
1477
1449
|
}
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1450
|
+
containerEl = document.createElement("div");
|
|
1451
|
+
containerEl.style.position = "fixed";
|
|
1452
|
+
containerEl.style.left = "0px";
|
|
1453
|
+
containerEl.style.top = "0px";
|
|
1454
|
+
containerEl.style.zIndex = "9999";
|
|
1455
|
+
(ref?.current || document.body).appendChild(containerEl);
|
|
1456
|
+
containerEl.appendChild(component.element);
|
|
1457
|
+
reference = {
|
|
1458
|
+
getBoundingClientRect: props.clientRect
|
|
1459
|
+
};
|
|
1460
|
+
cleanupAutoUpdate = autoUpdate(reference, containerEl, () => {
|
|
1461
|
+
if (!reference) return;
|
|
1462
|
+
computePosition(reference, containerEl, {
|
|
1463
|
+
placement: "bottom-start",
|
|
1464
|
+
middleware: [offset(4), flip(), shift()],
|
|
1465
|
+
strategy: "fixed"
|
|
1466
|
+
}).then(({
|
|
1467
|
+
x,
|
|
1468
|
+
y
|
|
1469
|
+
}) => {
|
|
1470
|
+
Object.assign(containerEl.style, {
|
|
1471
|
+
left: `${x}px`,
|
|
1472
|
+
top: `${y}px`,
|
|
1473
|
+
visibility: "visible"
|
|
1474
|
+
});
|
|
1475
|
+
});
|
|
1486
1476
|
});
|
|
1487
1477
|
},
|
|
1488
1478
|
onUpdate(props) {
|
|
1489
1479
|
component.updateProps(props);
|
|
1490
|
-
if (!props.clientRect) {
|
|
1480
|
+
if (!props.clientRect || !containerEl || !reference) {
|
|
1491
1481
|
return;
|
|
1492
1482
|
}
|
|
1493
|
-
|
|
1494
|
-
|
|
1483
|
+
reference.getBoundingClientRect = props.clientRect;
|
|
1484
|
+
computePosition(reference, containerEl, {
|
|
1485
|
+
placement: "bottom-start",
|
|
1486
|
+
middleware: [offset(4), flip(), shift()],
|
|
1487
|
+
strategy: "fixed"
|
|
1488
|
+
}).then(({
|
|
1489
|
+
x,
|
|
1490
|
+
y
|
|
1491
|
+
}) => {
|
|
1492
|
+
Object.assign(containerEl.style, {
|
|
1493
|
+
left: `${x}px`,
|
|
1494
|
+
top: `${y}px`,
|
|
1495
|
+
visibility: "visible"
|
|
1496
|
+
});
|
|
1495
1497
|
});
|
|
1496
1498
|
},
|
|
1497
1499
|
onKeyDown(props) {
|
|
1498
1500
|
if (props.event.key === "Escape") {
|
|
1499
|
-
popup[0].hide();
|
|
1500
1501
|
props.event.preventDefault();
|
|
1501
1502
|
return true;
|
|
1502
1503
|
}
|
|
1503
1504
|
return component.ref?.onKeyDown(props);
|
|
1504
1505
|
},
|
|
1505
1506
|
onExit() {
|
|
1506
|
-
if (
|
|
1507
|
+
if (cleanupAutoUpdate) cleanupAutoUpdate();
|
|
1508
|
+
if (containerEl && containerEl.parentNode) {
|
|
1509
|
+
containerEl.parentNode.removeChild(containerEl);
|
|
1510
|
+
}
|
|
1511
|
+
containerEl = null;
|
|
1512
|
+
reference = null;
|
|
1507
1513
|
component?.destroy();
|
|
1508
1514
|
}
|
|
1509
1515
|
};
|
|
@@ -1865,14 +1871,12 @@ const suggestionItems = [{
|
|
|
1865
1871
|
input.click();
|
|
1866
1872
|
}
|
|
1867
1873
|
}];
|
|
1868
|
-
const CustomDocument = Document.extend({
|
|
1869
|
-
// content: 'heading block*',
|
|
1870
|
-
});
|
|
1871
1874
|
const proseClasses = {
|
|
1872
1875
|
"sm": "prose-sm",
|
|
1873
1876
|
"base": "prose-base",
|
|
1874
1877
|
"lg": "prose-lg"
|
|
1875
1878
|
};
|
|
1879
|
+
const canUseDOM = Boolean(typeof window !== "undefined" && window.document && window.document.createElement);
|
|
1876
1880
|
const FireCMSEditor = ({
|
|
1877
1881
|
content,
|
|
1878
1882
|
onJsonContentChange,
|
|
@@ -1933,7 +1937,7 @@ const FireCMSEditor = ({
|
|
|
1933
1937
|
}
|
|
1934
1938
|
};
|
|
1935
1939
|
const proseClass = proseClasses[textSize];
|
|
1936
|
-
const extensions = useMemo(() => [starterKit,
|
|
1940
|
+
const extensions = useMemo(() => [starterKit, Document.extend({}), HighlightDecorationExtension(highlight), TextLoadingDecorationExtension, Underline, Bold, TextStyleKit, Italic, Strike, Color, Highlight.configure({
|
|
1937
1941
|
multicolor: true
|
|
1938
1942
|
}), Heading, CustomKeymap, DragAndDrop, placeholder, tiptapLink, imageExtension, taskList, taskItem, Markdown.configure({
|
|
1939
1943
|
html: true
|
|
@@ -1946,7 +1950,7 @@ const FireCMSEditor = ({
|
|
|
1946
1950
|
aiController
|
|
1947
1951
|
})
|
|
1948
1952
|
})], []);
|
|
1949
|
-
return /* @__PURE__ */ jsx("div", { ref, className: "relative min-h-[300px] w-full", children: /* @__PURE__ */ jsx(EditorProvider, { content: content ?? "", extensions, editorProps: {
|
|
1953
|
+
return /* @__PURE__ */ jsx("div", { ref, className: "relative min-h-[300px] w-full", children: /* @__PURE__ */ jsx(EditorProvider, { content: content ?? "", extensions, immediatelyRender: canUseDOM, editorProps: {
|
|
1950
1954
|
editable: () => !disabled,
|
|
1951
1955
|
attributes: {
|
|
1952
1956
|
class: cls(proseClass, "prose-headings:font-title font-default focus:outline-none max-w-full p-12")
|
|
@@ -1960,8 +1964,9 @@ const FireCMSEditor = ({
|
|
|
1960
1964
|
editor: editor_1
|
|
1961
1965
|
}) => {
|
|
1962
1966
|
onEditorUpdate(editor_1);
|
|
1963
|
-
}, children: /* @__PURE__ */ jsxs(EditorBubble, {
|
|
1964
|
-
placement: "top"
|
|
1967
|
+
}, children: /* @__PURE__ */ jsxs(EditorBubble, { options: {
|
|
1968
|
+
placement: "top",
|
|
1969
|
+
offset: 6
|
|
1965
1970
|
}, className: cls("flex w-fit max-w-[90vw] h-10 overflow-hidden rounded border bg-white dark:bg-surface-900 shadow", defaultBorderMixin), children: [
|
|
1966
1971
|
/* @__PURE__ */ jsx(NodeSelector, { portalContainer: ref.current, open: openNode, onOpenChange: setOpenNode }),
|
|
1967
1972
|
/* @__PURE__ */ jsx(Separator, { orientation: "vertical" }),
|
|
@@ -2134,7 +2139,7 @@ ul[data-type="taskList"] li[data-checked="true"] > div > p {
|
|
|
2134
2139
|
transition: opacity ease-in 0.2s;
|
|
2135
2140
|
border-radius: 0.25rem;
|
|
2136
2141
|
|
|
2137
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' style='fill: rgba(128, 128, 128, 0.9)'%3E%3Cpath d='M3,2 C2.44771525,2 2,1.55228475 2,1 C2,0.44771525 2.44771525,0 3,0 C3.55228475,0 4,0.44771525 4,1 C4,1.55228475 3.55228475,2 3,2 Z M3,6 C2.44771525,6 2,5.55228475 2,5 C2,4.44771525 2.44771525,4 3,4 C3.55228475,4 4,4.44771525 4,5 C4,5.55228475 3.55228475,6 3,6 Z M3,10 C2.44771525,10 2,9.55228475 2,9 C2,8.44771525 2.44771525,8 3,8 C3.55228475,8 4,8.44771525 4,9 C4,9.55228475 3.55228475,10 3,10 Z M7,2 C6.44771525,2 6,1.55228475 6,1 C6,0.44771525 6.44771525,0 7,0 C7.55228475,0 8,0.44771525 8,1 C8,1.55228475 7.55228475,2 7,2 Z M7,6 C6.44771525,6 6,5.55228475 6,5 C6,4.44771525 6.44771525,4 7,4 C7.55228475,4 8,4.44771525 8,5 C8,5.55228475 7.55228475,6 7,6 Z M7,10 C6.44771525,10 6,9.55228475 6,9 C6,8.44771525 6.44771525,8 7,8 C7
|
|
2142
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' style='fill: rgba(128, 128, 128, 0.9)'%3E%3Cpath d='M3,2 C2.44771525,2 2,1.55228475 2,1 C2,0.44771525 2.44771525,0 3,0 C3.55228475,0 4,0.44771525 4,1 C4,1.55228475 3.55228475,2 3,2 Z M3,6 C2.44771525,6 2,5.55228475 2,5 C2,4.44771525 2.44771525,4 3,4 C3.55228475,4 4,4.44771525 4,5 C4,5.55228475 3.55228475,6 3,6 Z M3,10 C2.44771525,10 2,9.55228475 2,9 C2,8.44771525 2.44771525,8 3,8 C3.55228475,8 4,8.44771525 4,9 C4,9.55228475 3.55228475,10 3,10 Z M7,2 C6.44771525,2 6,1.55228475 6,1 C6,0.44771525 6.44771525,0 7,0 C7.55228475,0 8,0.44771525 8,1 C8,1.55228475 7.55228475,2 7,2 Z M7,6 C6.44771525,6 6,5.55228475 6,5 C6,4.44771525 6.44771525,4 7,4 C7.55228475,4 8,4.44771525 8,5 C8,5.55228475 7.55228475,6 7,6 Z M7,10 C6.44771525,10 6,9.55228475 6,9 C6,8.44771525 6.44771525,8 7,8 C7,8.44771525 7,9 7,9 C7,9.55228475 7,10 7,10 Z'%3E%3C/path%3E%3C/svg%3E");
|
|
2138
2143
|
background-size: calc(0.5em + 0.375rem) calc(0.5em + 0.375rem);
|
|
2139
2144
|
background-repeat: no-repeat;
|
|
2140
2145
|
background-position: center;
|