@liveblocks/react-tiptap 2.18.3 → 2.18.4-uns2
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/{LiveblocksExtension.mjs → LiveblocksExtension.cjs} +41 -38
- package/dist/{LiveblocksExtension.mjs.map → LiveblocksExtension.cjs.map} +1 -1
- package/dist/LiveblocksExtension.js +37 -40
- package/dist/LiveblocksExtension.js.map +1 -1
- package/dist/ai/{AiExtension.mjs → AiExtension.cjs} +36 -32
- package/dist/ai/AiExtension.cjs.map +1 -0
- package/dist/ai/AiExtension.js +31 -35
- package/dist/ai/AiExtension.js.map +1 -1
- package/dist/ai/{AiToolbar.mjs → AiToolbar.cjs} +145 -142
- package/dist/ai/{AiToolbar.mjs.map → AiToolbar.cjs.map} +1 -1
- package/dist/ai/AiToolbar.js +141 -144
- package/dist/ai/AiToolbar.js.map +1 -1
- package/dist/{classnames.mjs → classnames.cjs} +4 -2
- package/dist/{classnames.mjs.map → classnames.cjs.map} +1 -1
- package/dist/classnames.js +1 -3
- package/dist/classnames.js.map +1 -1
- package/dist/comments/{AnchoredThreads.mjs → AnchoredThreads.cjs} +38 -36
- package/dist/comments/{AnchoredThreads.mjs.map → AnchoredThreads.cjs.map} +1 -1
- package/dist/comments/AnchoredThreads.js +35 -37
- package/dist/comments/AnchoredThreads.js.map +1 -1
- package/dist/comments/{CommentsExtension.mjs → CommentsExtension.cjs} +34 -32
- package/dist/comments/{CommentsExtension.mjs.map → CommentsExtension.cjs.map} +1 -1
- package/dist/comments/CommentsExtension.js +31 -33
- package/dist/comments/CommentsExtension.js.map +1 -1
- package/dist/comments/{FloatingComposer.mjs → FloatingComposer.cjs} +34 -31
- package/dist/comments/{FloatingComposer.mjs.map → FloatingComposer.cjs.map} +1 -1
- package/dist/comments/FloatingComposer.js +30 -33
- package/dist/comments/FloatingComposer.js.map +1 -1
- package/dist/comments/{FloatingThreads.mjs → FloatingThreads.cjs} +39 -36
- package/dist/comments/{FloatingThreads.mjs.map → FloatingThreads.cjs.map} +1 -1
- package/dist/comments/FloatingThreads.js +35 -38
- package/dist/comments/FloatingThreads.js.map +1 -1
- package/dist/context.cjs +24 -0
- package/dist/{context.mjs.map → context.cjs.map} +1 -1
- package/dist/context.js +8 -11
- package/dist/context.js.map +1 -1
- package/dist/index.cjs +29 -0
- package/dist/{index.mjs.map → index.cjs.map} +1 -1
- package/dist/index.js +13 -27
- package/dist/index.js.map +1 -1
- package/dist/mentions/{Avatar.mjs → Avatar.cjs} +16 -14
- package/dist/mentions/Avatar.cjs.map +1 -0
- package/dist/mentions/Avatar.js +13 -15
- package/dist/mentions/Avatar.js.map +1 -1
- package/dist/mentions/Mention.cjs +31 -0
- package/dist/mentions/Mention.cjs.map +1 -0
- package/dist/mentions/Mention.js +25 -25
- package/dist/mentions/Mention.js.map +1 -1
- package/dist/mentions/{MentionExtension.mjs → MentionExtension.cjs} +35 -33
- package/dist/mentions/{MentionExtension.mjs.map → MentionExtension.cjs.map} +1 -1
- package/dist/mentions/MentionExtension.js +32 -34
- package/dist/mentions/MentionExtension.js.map +1 -1
- package/dist/mentions/{MentionNode.mjs → MentionNode.cjs} +12 -10
- package/dist/mentions/{MentionNode.mjs.map → MentionNode.cjs.map} +1 -1
- package/dist/mentions/MentionNode.js +9 -11
- package/dist/mentions/MentionNode.js.map +1 -1
- package/dist/mentions/{MentionsList.mjs → MentionsList.cjs} +39 -35
- package/dist/mentions/{MentionsList.mjs.map → MentionsList.cjs.map} +1 -1
- package/dist/mentions/MentionsList.js +34 -38
- package/dist/mentions/MentionsList.js.map +1 -1
- package/dist/toolbar/{FloatingToolbar.mjs → FloatingToolbar.cjs} +67 -64
- package/dist/toolbar/{FloatingToolbar.mjs.map → FloatingToolbar.cjs.map} +1 -1
- package/dist/toolbar/FloatingToolbar.js +63 -66
- package/dist/toolbar/FloatingToolbar.js.map +1 -1
- package/dist/toolbar/{Toolbar.mjs → Toolbar.cjs} +116 -91
- package/dist/toolbar/{Toolbar.mjs.map → Toolbar.cjs.map} +1 -1
- package/dist/toolbar/Toolbar.js +90 -115
- package/dist/toolbar/Toolbar.js.map +1 -1
- package/dist/toolbar/shared.cjs +36 -0
- package/dist/toolbar/{shared.mjs.map → shared.cjs.map} +1 -1
- package/dist/toolbar/shared.js +12 -15
- package/dist/toolbar/shared.js.map +1 -1
- package/dist/types.cjs +39 -0
- package/dist/{types.mjs.map → types.cjs.map} +1 -1
- package/dist/types.js +8 -19
- package/dist/types.js.map +1 -1
- package/dist/{utils.mjs → utils.cjs} +23 -14
- package/dist/{utils.mjs.map → utils.cjs.map} +1 -1
- package/dist/utils.js +13 -22
- package/dist/utils.js.map +1 -1
- package/dist/version-history/{HistoryVersionPreview.mjs → HistoryVersionPreview.cjs} +36 -34
- package/dist/version-history/{HistoryVersionPreview.mjs.map → HistoryVersionPreview.cjs.map} +1 -1
- package/dist/version-history/HistoryVersionPreview.js +33 -35
- package/dist/version-history/HistoryVersionPreview.js.map +1 -1
- package/dist/version.cjs +10 -0
- package/dist/{version.mjs.map → version.cjs.map} +1 -1
- package/dist/version.js +3 -7
- package/dist/version.js.map +1 -1
- package/package.json +18 -17
- package/styles.css.d.cts +1 -0
- package/dist/ai/AiExtension.mjs.map +0 -1
- package/dist/context.mjs +0 -21
- package/dist/index.mjs +0 -15
- package/dist/mentions/Avatar.mjs.map +0 -1
- package/dist/mentions/Mention.mjs +0 -27
- package/dist/mentions/Mention.mjs.map +0 -1
- package/dist/toolbar/shared.mjs +0 -33
- package/dist/types.mjs +0 -28
- package/dist/version.mjs +0 -6
- /package/dist/{index.d.mts → index.d.cts} +0 -0
package/dist/toolbar/Toolbar.js
CHANGED
|
@@ -1,50 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var context = require('../context.js');
|
|
10
|
-
var shared = require('./shared.js');
|
|
11
|
-
|
|
12
|
-
function _interopNamespaceDefault(e) {
|
|
13
|
-
var n = Object.create(null);
|
|
14
|
-
if (e) {
|
|
15
|
-
Object.keys(e).forEach(function (k) {
|
|
16
|
-
if (k !== 'default') {
|
|
17
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () { return e[k]; }
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
n.default = e;
|
|
26
|
-
return Object.freeze(n);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(SelectPrimitive);
|
|
30
|
-
var TogglePrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(TogglePrimitive);
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { ShortcutTooltip, Button, TextIcon, H1Icon, H2Icon, H3Icon, ListUnorderedIcon, ListOrderedIcon, BlockquoteIcon, SelectButton, CheckIcon, UndoIcon, RedoIcon, BoldIcon, ItalicIcon, UnderlineIcon, StrikethroughIcon, CodeIcon, CommentIcon, SparklesIcon, QuestionMarkIcon, TooltipProvider } from '@liveblocks/react-ui/_private';
|
|
3
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
4
|
+
import * as TogglePrimitive from '@radix-ui/react-toggle';
|
|
5
|
+
import { forwardRef, useContext, useCallback, useMemo } from 'react';
|
|
6
|
+
import { classNames } from '../classnames.js';
|
|
7
|
+
import { useCurrentEditor, EditorProvider } from '../context.js';
|
|
8
|
+
import { FloatingToolbarContext, FloatingToolbarExternal } from './shared.js';
|
|
31
9
|
|
|
32
10
|
const BLOCK_SELECT_SIDE_OFFSET = 10;
|
|
33
11
|
const FLOATING_ELEMENT_COLLISION_PADDING = 10;
|
|
34
12
|
function applyToolbarSlot(slot, props) {
|
|
35
13
|
if (typeof slot === "function") {
|
|
36
14
|
const Component = slot;
|
|
37
|
-
return /* @__PURE__ */
|
|
15
|
+
return /* @__PURE__ */ jsx(Component, {
|
|
38
16
|
...props
|
|
39
17
|
});
|
|
40
18
|
}
|
|
41
19
|
return slot;
|
|
42
20
|
}
|
|
43
|
-
const ToolbarButton =
|
|
21
|
+
const ToolbarButton = forwardRef(
|
|
44
22
|
({ icon, children, name, shortcut, onKeyDown, ...props }, forwardedRef) => {
|
|
45
|
-
const floatingToolbarContext =
|
|
23
|
+
const floatingToolbarContext = useContext(FloatingToolbarContext);
|
|
46
24
|
const closeFloatingToolbar = floatingToolbarContext?.close;
|
|
47
|
-
const handleKeyDown =
|
|
25
|
+
const handleKeyDown = useCallback(
|
|
48
26
|
(event) => {
|
|
49
27
|
onKeyDown?.(event);
|
|
50
28
|
if (!event.isDefaultPrevented() && closeFloatingToolbar && event.key === "Escape") {
|
|
@@ -55,10 +33,10 @@ const ToolbarButton = react.forwardRef(
|
|
|
55
33
|
},
|
|
56
34
|
[onKeyDown, closeFloatingToolbar]
|
|
57
35
|
);
|
|
58
|
-
return /* @__PURE__ */
|
|
36
|
+
return /* @__PURE__ */ jsx(ShortcutTooltip, {
|
|
59
37
|
content: name,
|
|
60
38
|
shortcut,
|
|
61
|
-
children: /* @__PURE__ */
|
|
39
|
+
children: /* @__PURE__ */ jsx(Button, {
|
|
62
40
|
type: "button",
|
|
63
41
|
variant: "toolbar",
|
|
64
42
|
ref: forwardedRef,
|
|
@@ -71,12 +49,12 @@ const ToolbarButton = react.forwardRef(
|
|
|
71
49
|
});
|
|
72
50
|
}
|
|
73
51
|
);
|
|
74
|
-
const ToolbarToggle =
|
|
52
|
+
const ToolbarToggle = forwardRef(
|
|
75
53
|
({ active, ...props }, forwardedRef) => {
|
|
76
|
-
return /* @__PURE__ */
|
|
54
|
+
return /* @__PURE__ */ jsx(TogglePrimitive.Root, {
|
|
77
55
|
asChild: true,
|
|
78
56
|
pressed: active,
|
|
79
|
-
children: /* @__PURE__ */
|
|
57
|
+
children: /* @__PURE__ */ jsx(ToolbarButton, {
|
|
80
58
|
ref: forwardedRef,
|
|
81
59
|
...props
|
|
82
60
|
})
|
|
@@ -87,57 +65,57 @@ function createDefaultBlockSelectorItems(editor) {
|
|
|
87
65
|
const items = [
|
|
88
66
|
{
|
|
89
67
|
name: "Text",
|
|
90
|
-
icon: /* @__PURE__ */
|
|
68
|
+
icon: /* @__PURE__ */ jsx(TextIcon, {}),
|
|
91
69
|
isActive: "default",
|
|
92
70
|
setActive: (editor2) => editor2.chain().focus().clearNodes().run()
|
|
93
71
|
},
|
|
94
72
|
"toggleHeading" in editor.commands ? {
|
|
95
73
|
name: "Heading 1",
|
|
96
|
-
icon: /* @__PURE__ */
|
|
74
|
+
icon: /* @__PURE__ */ jsx(H1Icon, {}),
|
|
97
75
|
isActive: (editor2) => editor2.isActive("heading", { level: 1 }),
|
|
98
76
|
setActive: (editor2) => editor2.chain().focus().clearNodes().toggleHeading({ level: 1 }).run()
|
|
99
77
|
} : null,
|
|
100
78
|
"toggleHeading" in editor.commands ? {
|
|
101
79
|
name: "Heading 2",
|
|
102
|
-
icon: /* @__PURE__ */
|
|
80
|
+
icon: /* @__PURE__ */ jsx(H2Icon, {}),
|
|
103
81
|
isActive: (editor2) => editor2.isActive("heading", { level: 2 }),
|
|
104
82
|
setActive: (editor2) => editor2.chain().focus().clearNodes().toggleHeading({ level: 2 }).run()
|
|
105
83
|
} : null,
|
|
106
84
|
"toggleHeading" in editor.commands ? {
|
|
107
85
|
name: "Heading 3",
|
|
108
|
-
icon: /* @__PURE__ */
|
|
86
|
+
icon: /* @__PURE__ */ jsx(H3Icon, {}),
|
|
109
87
|
isActive: (editor2) => editor2.isActive("heading", { level: 3 }),
|
|
110
88
|
setActive: (editor2) => editor2.chain().focus().clearNodes().toggleHeading({ level: 3 }).run()
|
|
111
89
|
} : null,
|
|
112
90
|
"toggleBulletList" in editor.commands ? {
|
|
113
91
|
name: "Bullet list",
|
|
114
|
-
icon: /* @__PURE__ */
|
|
92
|
+
icon: /* @__PURE__ */ jsx(ListUnorderedIcon, {}),
|
|
115
93
|
isActive: (editor2) => editor2.isActive("bulletList"),
|
|
116
94
|
setActive: (editor2) => editor2.chain().focus().clearNodes().toggleBulletList().run()
|
|
117
95
|
} : null,
|
|
118
96
|
"toggleOrderedList" in editor.commands ? {
|
|
119
97
|
name: "Numbered list",
|
|
120
|
-
icon: /* @__PURE__ */
|
|
98
|
+
icon: /* @__PURE__ */ jsx(ListOrderedIcon, {}),
|
|
121
99
|
isActive: (editor2) => editor2.isActive("orderedList"),
|
|
122
100
|
setActive: (editor2) => editor2.chain().focus().clearNodes().toggleOrderedList().run()
|
|
123
101
|
} : null,
|
|
124
102
|
"toggleBlockquote" in editor.commands ? {
|
|
125
103
|
name: "Blockquote",
|
|
126
|
-
icon: /* @__PURE__ */
|
|
104
|
+
icon: /* @__PURE__ */ jsx(BlockquoteIcon, {}),
|
|
127
105
|
isActive: (editor2) => editor2.isActive("blockquote"),
|
|
128
106
|
setActive: (editor2) => editor2.chain().focus().clearNodes().toggleBlockquote().run()
|
|
129
107
|
} : null
|
|
130
108
|
];
|
|
131
109
|
return items.filter(Boolean);
|
|
132
110
|
}
|
|
133
|
-
const ToolbarBlockSelector =
|
|
134
|
-
const floatingToolbarContext =
|
|
111
|
+
const ToolbarBlockSelector = forwardRef(({ items, onKeyDown, ...props }, forwardedRef) => {
|
|
112
|
+
const floatingToolbarContext = useContext(FloatingToolbarContext);
|
|
135
113
|
const closeFloatingToolbar = floatingToolbarContext?.close;
|
|
136
|
-
const editor =
|
|
114
|
+
const editor = useCurrentEditor(
|
|
137
115
|
"BlockSelector",
|
|
138
116
|
"Toolbar or FloatingToolbar"
|
|
139
117
|
);
|
|
140
|
-
const resolvedItems =
|
|
118
|
+
const resolvedItems = useMemo(() => {
|
|
141
119
|
if (Array.isArray(items)) {
|
|
142
120
|
return items;
|
|
143
121
|
}
|
|
@@ -162,7 +140,7 @@ const ToolbarBlockSelector = react.forwardRef(({ items, onKeyDown, ...props }, f
|
|
|
162
140
|
floatingToolbarContext?.close();
|
|
163
141
|
}
|
|
164
142
|
};
|
|
165
|
-
const handleKeyDown =
|
|
143
|
+
const handleKeyDown = useCallback(
|
|
166
144
|
(event) => {
|
|
167
145
|
onKeyDown?.(event);
|
|
168
146
|
if (!event.isDefaultPrevented() && closeFloatingToolbar && event.key === "Escape") {
|
|
@@ -173,47 +151,47 @@ const ToolbarBlockSelector = react.forwardRef(({ items, onKeyDown, ...props }, f
|
|
|
173
151
|
},
|
|
174
152
|
[onKeyDown, closeFloatingToolbar]
|
|
175
153
|
);
|
|
176
|
-
return /* @__PURE__ */
|
|
154
|
+
return /* @__PURE__ */ jsxs(SelectPrimitive.Root, {
|
|
177
155
|
value: activeItem?.name,
|
|
178
156
|
onValueChange: handleItemChange,
|
|
179
157
|
children: [
|
|
180
|
-
/* @__PURE__ */
|
|
158
|
+
/* @__PURE__ */ jsx(ShortcutTooltip, {
|
|
181
159
|
content: "Turn into\u2026",
|
|
182
|
-
children: /* @__PURE__ */
|
|
160
|
+
children: /* @__PURE__ */ jsx(SelectPrimitive.Trigger, {
|
|
183
161
|
asChild: true,
|
|
184
162
|
...props,
|
|
185
163
|
ref: forwardedRef,
|
|
186
164
|
onKeyDown: handleKeyDown,
|
|
187
165
|
disabled: resolvedItems.length === 0,
|
|
188
|
-
children: /* @__PURE__ */
|
|
166
|
+
children: /* @__PURE__ */ jsx(SelectButton, {
|
|
189
167
|
variant: "toolbar",
|
|
190
168
|
children: activeItem?.name ?? "Turn into\u2026"
|
|
191
169
|
})
|
|
192
170
|
})
|
|
193
171
|
}),
|
|
194
|
-
/* @__PURE__ */
|
|
195
|
-
children: /* @__PURE__ */
|
|
196
|
-
children: /* @__PURE__ */
|
|
172
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Portal, {
|
|
173
|
+
children: /* @__PURE__ */ jsx(FloatingToolbarExternal, {
|
|
174
|
+
children: /* @__PURE__ */ jsx(SelectPrimitive.Content, {
|
|
197
175
|
position: "popper",
|
|
198
176
|
sideOffset: BLOCK_SELECT_SIDE_OFFSET,
|
|
199
177
|
collisionPadding: FLOATING_ELEMENT_COLLISION_PADDING,
|
|
200
178
|
className: "lb-root lb-portal lb-elevation lb-dropdown lb-select-dropdown lb-tiptap-block-selector-dropdown",
|
|
201
|
-
children: resolvedItems.map((item) => /* @__PURE__ */
|
|
179
|
+
children: resolvedItems.map((item) => /* @__PURE__ */ jsxs(SelectPrimitive.Item, {
|
|
202
180
|
value: item.name,
|
|
203
181
|
className: "lb-dropdown-item",
|
|
204
182
|
"data-name": item.name,
|
|
205
183
|
children: [
|
|
206
|
-
item.icon ? /* @__PURE__ */
|
|
184
|
+
item.icon ? /* @__PURE__ */ jsx("span", {
|
|
207
185
|
className: "lb-dropdown-item-icon lb-icon-container",
|
|
208
186
|
children: item.icon
|
|
209
187
|
}) : null,
|
|
210
|
-
/* @__PURE__ */
|
|
188
|
+
/* @__PURE__ */ jsx("span", {
|
|
211
189
|
className: "lb-dropdown-item-label",
|
|
212
190
|
children: item.label ?? item.name
|
|
213
191
|
}),
|
|
214
|
-
item.name === activeItem?.name ? /* @__PURE__ */
|
|
192
|
+
item.name === activeItem?.name ? /* @__PURE__ */ jsx("span", {
|
|
215
193
|
className: "lb-dropdown-item-accessory lb-icon-container",
|
|
216
|
-
children: /* @__PURE__ */
|
|
194
|
+
children: /* @__PURE__ */ jsx(CheckIcon, {})
|
|
217
195
|
}) : null
|
|
218
196
|
]
|
|
219
197
|
}, item.name))
|
|
@@ -223,34 +201,34 @@ const ToolbarBlockSelector = react.forwardRef(({ items, onKeyDown, ...props }, f
|
|
|
223
201
|
]
|
|
224
202
|
});
|
|
225
203
|
});
|
|
226
|
-
const ToolbarSeparator =
|
|
204
|
+
const ToolbarSeparator = forwardRef(
|
|
227
205
|
({ className, ...props }, forwardedRef) => {
|
|
228
|
-
return /* @__PURE__ */
|
|
206
|
+
return /* @__PURE__ */ jsx("div", {
|
|
229
207
|
ref: forwardedRef,
|
|
230
208
|
role: "separator",
|
|
231
209
|
"aria-orientation": "vertical",
|
|
232
|
-
className:
|
|
210
|
+
className: classNames("lb-tiptap-toolbar-separator", className),
|
|
233
211
|
...props
|
|
234
212
|
});
|
|
235
213
|
}
|
|
236
214
|
);
|
|
237
215
|
function ToolbarSectionHistory() {
|
|
238
|
-
const editor =
|
|
216
|
+
const editor = useCurrentEditor(
|
|
239
217
|
"SectionHistory",
|
|
240
218
|
"Toolbar or FloatingToolbar"
|
|
241
219
|
);
|
|
242
|
-
return /* @__PURE__ */
|
|
220
|
+
return /* @__PURE__ */ jsxs(Fragment, {
|
|
243
221
|
children: [
|
|
244
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ jsx(ToolbarButton, {
|
|
245
223
|
name: "Undo",
|
|
246
|
-
icon: /* @__PURE__ */
|
|
224
|
+
icon: /* @__PURE__ */ jsx(UndoIcon, {}),
|
|
247
225
|
shortcut: "Mod-Z",
|
|
248
226
|
onClick: () => editor.chain().focus().undo().run(),
|
|
249
227
|
disabled: !editor.can().chain().focus().undo().run()
|
|
250
228
|
}),
|
|
251
|
-
/* @__PURE__ */
|
|
229
|
+
/* @__PURE__ */ jsx(ToolbarButton, {
|
|
252
230
|
name: "Redo",
|
|
253
|
-
icon: /* @__PURE__ */
|
|
231
|
+
icon: /* @__PURE__ */ jsx(RedoIcon, {}),
|
|
254
232
|
shortcut: "Mod-Shift-Z",
|
|
255
233
|
onClick: () => editor.chain().focus().redo().run(),
|
|
256
234
|
disabled: !editor.can().chain().focus().redo().run()
|
|
@@ -259,7 +237,7 @@ function ToolbarSectionHistory() {
|
|
|
259
237
|
});
|
|
260
238
|
}
|
|
261
239
|
function ToolbarSectionInline() {
|
|
262
|
-
const editor =
|
|
240
|
+
const editor = useCurrentEditor(
|
|
263
241
|
"SectionInline",
|
|
264
242
|
"Toolbar or FloatingToolbar"
|
|
265
243
|
);
|
|
@@ -268,43 +246,43 @@ function ToolbarSectionInline() {
|
|
|
268
246
|
const supportsUnderline = "toggleUnderline" in editor.commands;
|
|
269
247
|
const supportsStrike = "toggleStrike" in editor.commands;
|
|
270
248
|
const supportsCode = "toggleCode" in editor.commands;
|
|
271
|
-
return /* @__PURE__ */
|
|
249
|
+
return /* @__PURE__ */ jsxs(Fragment, {
|
|
272
250
|
children: [
|
|
273
|
-
supportsBold && /* @__PURE__ */
|
|
251
|
+
supportsBold && /* @__PURE__ */ jsx(ToolbarToggle, {
|
|
274
252
|
name: "Bold",
|
|
275
|
-
icon: /* @__PURE__ */
|
|
253
|
+
icon: /* @__PURE__ */ jsx(BoldIcon, {}),
|
|
276
254
|
shortcut: "Mod-B",
|
|
277
255
|
onClick: () => editor.chain().focus().toggleBold().run(),
|
|
278
256
|
disabled: !editor.can().chain().focus().toggleBold().run(),
|
|
279
257
|
active: editor.isActive("bold")
|
|
280
258
|
}),
|
|
281
|
-
supportsItalic && /* @__PURE__ */
|
|
259
|
+
supportsItalic && /* @__PURE__ */ jsx(ToolbarToggle, {
|
|
282
260
|
name: "Italic",
|
|
283
|
-
icon: /* @__PURE__ */
|
|
261
|
+
icon: /* @__PURE__ */ jsx(ItalicIcon, {}),
|
|
284
262
|
shortcut: "Mod-I",
|
|
285
263
|
onClick: () => editor.chain().focus().toggleItalic().run(),
|
|
286
264
|
disabled: !editor.can().chain().focus().toggleItalic().run(),
|
|
287
265
|
active: editor.isActive("italic")
|
|
288
266
|
}),
|
|
289
|
-
supportsUnderline && /* @__PURE__ */
|
|
267
|
+
supportsUnderline && /* @__PURE__ */ jsx(ToolbarToggle, {
|
|
290
268
|
name: "Underline",
|
|
291
|
-
icon: /* @__PURE__ */
|
|
269
|
+
icon: /* @__PURE__ */ jsx(UnderlineIcon, {}),
|
|
292
270
|
shortcut: "Mod-U",
|
|
293
271
|
onClick: () => editor.chain().focus().toggleUnderline().run(),
|
|
294
272
|
disabled: !editor.can().chain().focus().toggleUnderline().run(),
|
|
295
273
|
active: editor.isActive("underline")
|
|
296
274
|
}),
|
|
297
|
-
supportsStrike && /* @__PURE__ */
|
|
275
|
+
supportsStrike && /* @__PURE__ */ jsx(ToolbarToggle, {
|
|
298
276
|
name: "Strikethrough",
|
|
299
|
-
icon: /* @__PURE__ */
|
|
277
|
+
icon: /* @__PURE__ */ jsx(StrikethroughIcon, {}),
|
|
300
278
|
shortcut: "Mod-U",
|
|
301
279
|
onClick: () => editor.chain().focus().toggleStrike().run(),
|
|
302
280
|
disabled: !editor.can().chain().focus().toggleStrike().run(),
|
|
303
281
|
active: editor.isActive("strike")
|
|
304
282
|
}),
|
|
305
|
-
supportsCode && /* @__PURE__ */
|
|
283
|
+
supportsCode && /* @__PURE__ */ jsx(ToolbarToggle, {
|
|
306
284
|
name: "Inline code",
|
|
307
|
-
icon: /* @__PURE__ */
|
|
285
|
+
icon: /* @__PURE__ */ jsx(CodeIcon, {}),
|
|
308
286
|
shortcut: "Mod-E",
|
|
309
287
|
onClick: () => editor.chain().focus().toggleCode().run(),
|
|
310
288
|
disabled: !editor.can().chain().focus().toggleCode().run(),
|
|
@@ -314,39 +292,39 @@ function ToolbarSectionInline() {
|
|
|
314
292
|
});
|
|
315
293
|
}
|
|
316
294
|
function ToolbarSectionCollaboration() {
|
|
317
|
-
const editor =
|
|
295
|
+
const editor = useCurrentEditor(
|
|
318
296
|
"SectionCollaboration",
|
|
319
297
|
"Toolbar or FloatingToolbar"
|
|
320
298
|
);
|
|
321
299
|
const supportsThread = "addPendingComment" in editor.commands;
|
|
322
|
-
return /* @__PURE__ */
|
|
323
|
-
children: supportsThread && /* @__PURE__ */
|
|
300
|
+
return /* @__PURE__ */ jsx(Fragment, {
|
|
301
|
+
children: supportsThread && /* @__PURE__ */ jsx(ToolbarButton, {
|
|
324
302
|
name: "Add a comment",
|
|
325
|
-
icon: /* @__PURE__ */
|
|
303
|
+
icon: /* @__PURE__ */ jsx(CommentIcon, {}),
|
|
326
304
|
onClick: () => editor.chain().focus().addPendingComment().run(),
|
|
327
305
|
children: "Comment"
|
|
328
306
|
})
|
|
329
307
|
});
|
|
330
308
|
}
|
|
331
309
|
function ToolbarSectionAi() {
|
|
332
|
-
const editor =
|
|
310
|
+
const editor = useCurrentEditor("SectionAi", "Toolbar or FloatingToolbar");
|
|
333
311
|
const supportsAi = "askAi" in editor.commands;
|
|
334
312
|
const aiName = editor.storage.liveblocksAi?.name;
|
|
335
|
-
return /* @__PURE__ */
|
|
336
|
-
children: supportsAi && /* @__PURE__ */
|
|
313
|
+
return /* @__PURE__ */ jsx(Fragment, {
|
|
314
|
+
children: supportsAi && /* @__PURE__ */ jsxs(Fragment, {
|
|
337
315
|
children: [
|
|
338
|
-
/* @__PURE__ */
|
|
316
|
+
/* @__PURE__ */ jsxs(ToolbarButton, {
|
|
339
317
|
name: `Ask ${aiName} anything\u2026`,
|
|
340
|
-
icon: /* @__PURE__ */
|
|
318
|
+
icon: /* @__PURE__ */ jsx(SparklesIcon, {}),
|
|
341
319
|
onClick: () => editor.chain().focus().askAi(),
|
|
342
320
|
children: [
|
|
343
321
|
"Ask ",
|
|
344
322
|
aiName
|
|
345
323
|
]
|
|
346
324
|
}),
|
|
347
|
-
/* @__PURE__ */
|
|
325
|
+
/* @__PURE__ */ jsx(ToolbarButton, {
|
|
348
326
|
name: "Explain",
|
|
349
|
-
icon: /* @__PURE__ */
|
|
327
|
+
icon: /* @__PURE__ */ jsx(QuestionMarkIcon, {}),
|
|
350
328
|
onClick: () => editor.chain().focus().askAi("Explain what the text is about"),
|
|
351
329
|
children: "Explain"
|
|
352
330
|
})
|
|
@@ -357,29 +335,29 @@ function ToolbarSectionAi() {
|
|
|
357
335
|
function DefaultToolbarContent({ editor }) {
|
|
358
336
|
const supportsThread = "addPendingComment" in editor.commands;
|
|
359
337
|
const supportsAi = "askAi" in editor.commands;
|
|
360
|
-
return /* @__PURE__ */
|
|
338
|
+
return /* @__PURE__ */ jsxs(Fragment, {
|
|
361
339
|
children: [
|
|
362
|
-
/* @__PURE__ */
|
|
363
|
-
/* @__PURE__ */
|
|
364
|
-
supportsAi ? /* @__PURE__ */
|
|
340
|
+
/* @__PURE__ */ jsx(ToolbarSectionHistory, {}),
|
|
341
|
+
/* @__PURE__ */ jsx(ToolbarSeparator, {}),
|
|
342
|
+
supportsAi ? /* @__PURE__ */ jsxs(Fragment, {
|
|
365
343
|
children: [
|
|
366
|
-
/* @__PURE__ */
|
|
367
|
-
/* @__PURE__ */
|
|
344
|
+
/* @__PURE__ */ jsx(ToolbarSectionAi, {}),
|
|
345
|
+
/* @__PURE__ */ jsx(ToolbarSeparator, {})
|
|
368
346
|
]
|
|
369
347
|
}) : null,
|
|
370
|
-
/* @__PURE__ */
|
|
371
|
-
/* @__PURE__ */
|
|
372
|
-
supportsThread ? /* @__PURE__ */
|
|
348
|
+
/* @__PURE__ */ jsx(ToolbarBlockSelector, {}),
|
|
349
|
+
/* @__PURE__ */ jsx(ToolbarSectionInline, {}),
|
|
350
|
+
supportsThread ? /* @__PURE__ */ jsxs(Fragment, {
|
|
373
351
|
children: [
|
|
374
|
-
/* @__PURE__ */
|
|
375
|
-
/* @__PURE__ */
|
|
352
|
+
/* @__PURE__ */ jsx(ToolbarSeparator, {}),
|
|
353
|
+
/* @__PURE__ */ jsx(ToolbarSectionCollaboration, {})
|
|
376
354
|
]
|
|
377
355
|
}) : null
|
|
378
356
|
]
|
|
379
357
|
});
|
|
380
358
|
}
|
|
381
359
|
const Toolbar = Object.assign(
|
|
382
|
-
|
|
360
|
+
forwardRef(
|
|
383
361
|
({
|
|
384
362
|
before,
|
|
385
363
|
after,
|
|
@@ -392,15 +370,15 @@ const Toolbar = Object.assign(
|
|
|
392
370
|
return null;
|
|
393
371
|
}
|
|
394
372
|
const slotProps = { editor };
|
|
395
|
-
return /* @__PURE__ */
|
|
396
|
-
children: /* @__PURE__ */
|
|
373
|
+
return /* @__PURE__ */ jsx(TooltipProvider, {
|
|
374
|
+
children: /* @__PURE__ */ jsx(EditorProvider, {
|
|
397
375
|
editor,
|
|
398
|
-
children: /* @__PURE__ */
|
|
376
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
399
377
|
ref: forwardedRef,
|
|
400
378
|
role: "toolbar",
|
|
401
379
|
"aria-label": "Toolbar",
|
|
402
380
|
"aria-orientation": "horizontal",
|
|
403
|
-
className:
|
|
381
|
+
className: classNames("lb-root lb-tiptap-toolbar", className),
|
|
404
382
|
...props,
|
|
405
383
|
children: [
|
|
406
384
|
applyToolbarSlot(before, slotProps),
|
|
@@ -424,8 +402,5 @@ const Toolbar = Object.assign(
|
|
|
424
402
|
}
|
|
425
403
|
);
|
|
426
404
|
|
|
427
|
-
|
|
428
|
-
exports.FLOATING_ELEMENT_COLLISION_PADDING = FLOATING_ELEMENT_COLLISION_PADDING;
|
|
429
|
-
exports.Toolbar = Toolbar;
|
|
430
|
-
exports.applyToolbarSlot = applyToolbarSlot;
|
|
405
|
+
export { BLOCK_SELECT_SIDE_OFFSET, FLOATING_ELEMENT_COLLISION_PADDING, Toolbar, applyToolbarSlot };
|
|
431
406
|
//# sourceMappingURL=Toolbar.js.map
|