mirror of
https://github.com/docmost/docmost.git
synced 2026-05-17 23:14:07 +08:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b218d31ed | |||
| a27e683e06 | |||
| 37f349f040 | |||
| 7dcf5006d3 | |||
| 4f20b43222 | |||
| 06c81a4fed | |||
| 5c3942c159 | |||
| e0809e7104 | |||
| da6793ac87 |
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "client",
|
"name": "client",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.25.0",
|
"version": "0.25.1",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "tsc && vite build",
|
"build": "tsc && vite build",
|
||||||
|
|||||||
@@ -8,3 +8,5 @@ export const titleEditorAtom = atom<Editor | null>(null);
|
|||||||
export const readOnlyEditorAtom = atom<Editor | null>(null);
|
export const readOnlyEditorAtom = atom<Editor | null>(null);
|
||||||
|
|
||||||
export const yjsConnectionStatusAtom = atom<string>("");
|
export const yjsConnectionStatusAtom = atom<string>("");
|
||||||
|
|
||||||
|
export const showAiMenuAtom = atom(false);
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
.aiMenu {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
min-height: 2.25rem;
|
||||||
|
}
|
||||||
|
.menuItemSelected {
|
||||||
|
background-color: var(--mantine-color-gray-1);
|
||||||
|
|
||||||
|
@mixin dark {
|
||||||
|
background-color: var(--mantine-color-dark-5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.resultPreviewWrapper {
|
||||||
|
*:first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
*:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,303 @@
|
|||||||
|
import { Editor } from "@tiptap/react";
|
||||||
|
import { ActionIcon, TextInput, Tooltip } from "@mantine/core";
|
||||||
|
import { useDebouncedCallback, useMediaQuery } from "@mantine/hooks";
|
||||||
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||||
|
import { createPortal } from "react-dom";
|
||||||
|
import { useAtom } from "jotai";
|
||||||
|
import { IconSend } from "@tabler/icons-react";
|
||||||
|
import { showAiMenuAtom } from "@/features/editor/atoms/editor-atoms";
|
||||||
|
import { useAiGenerateStreamMutation } from "@/ee/ai/queries/ai-query";
|
||||||
|
import { AiAction } from "@/ee/ai/types/ai.types";
|
||||||
|
import { CommandItem, commandItems, CommandSet } from "./command-items";
|
||||||
|
import { CommandSelector } from "./command-selector";
|
||||||
|
import { ResultPreview } from "./result-preview";
|
||||||
|
import classes from "./ai-menu.module.css";
|
||||||
|
import { marked } from "marked";
|
||||||
|
|
||||||
|
interface EditorAiMenuProps {
|
||||||
|
editor: Editor | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const EditorAiMenu = ({ editor }: EditorAiMenuProps): JSX.Element | null => {
|
||||||
|
const aiGenerateStreamMutation = useAiGenerateStreamMutation();
|
||||||
|
const isSmBreakpoint = useMediaQuery("(max-width: 48em)");
|
||||||
|
const [showAiMenu, setShowAiMenu] = useAtom(showAiMenuAtom);
|
||||||
|
const containerRef = useRef<HTMLDivElement | null>(null);
|
||||||
|
const inputRef = useRef<HTMLInputElement | null>(null);
|
||||||
|
const [prompt, setPrompt] = useState("");
|
||||||
|
const [output, setOutput] = useState("");
|
||||||
|
const [isLoading, setIsLoading] = useState(false);
|
||||||
|
const [selectedIndex, setSelectedIndex] = useState(-1);
|
||||||
|
const [activeCommandSet, setActiveCommandSet] = useState<CommandSet>("main");
|
||||||
|
const [lastAction, setLastAction] = useState<CommandItem | null>(null);
|
||||||
|
const [menuPlacement, setMenuPlacement] = useState<{
|
||||||
|
top: number;
|
||||||
|
left: number;
|
||||||
|
width: number;
|
||||||
|
}>({
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
width: 0,
|
||||||
|
});
|
||||||
|
const currentItems = useMemo(() => {
|
||||||
|
return commandItems[activeCommandSet].filter((item) => {
|
||||||
|
return item.name.toLowerCase().includes(prompt.toLowerCase());
|
||||||
|
});
|
||||||
|
}, [prompt, output, activeCommandSet]);
|
||||||
|
const updateMenuPlacement = useCallback(() => {
|
||||||
|
if (!editor || !showAiMenu) return;
|
||||||
|
|
||||||
|
const { view } = editor;
|
||||||
|
const { to } = editor.state.selection;
|
||||||
|
const editorRect = view.dom.getBoundingClientRect();
|
||||||
|
const cursorCoords = view.coordsAtPos(to);
|
||||||
|
const topOffset = 8;
|
||||||
|
const editorPadding = isSmBreakpoint ? 16 : 48;
|
||||||
|
|
||||||
|
setMenuPlacement({
|
||||||
|
top: cursorCoords.bottom + topOffset,
|
||||||
|
left: editorRect.left + editorPadding,
|
||||||
|
width: editorRect.width - editorPadding * 2,
|
||||||
|
});
|
||||||
|
}, [editor, showAiMenu, isSmBreakpoint]);
|
||||||
|
const resetMenu = useCallback(() => {
|
||||||
|
setPrompt("");
|
||||||
|
setOutput("");
|
||||||
|
setActiveCommandSet("main");
|
||||||
|
setLastAction(null);
|
||||||
|
aiGenerateStreamMutation.reset();
|
||||||
|
}, [aiGenerateStreamMutation.reset]);
|
||||||
|
const debouncedUpdateMenuPlacement = useDebouncedCallback(
|
||||||
|
updateMenuPlacement,
|
||||||
|
60,
|
||||||
|
);
|
||||||
|
const handleGenerate = useCallback(
|
||||||
|
(item?: CommandItem) => {
|
||||||
|
if (!editor || isLoading) return;
|
||||||
|
|
||||||
|
let command: CommandItem | null = item || null;
|
||||||
|
|
||||||
|
if (!command) {
|
||||||
|
if (!prompt) return;
|
||||||
|
|
||||||
|
command = {
|
||||||
|
id: "custom",
|
||||||
|
name: "Custom",
|
||||||
|
action: AiAction.CUSTOM,
|
||||||
|
prompt,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const { from, to } = editor.state.selection;
|
||||||
|
const content = editor.state.doc.textBetween(from, to);
|
||||||
|
|
||||||
|
setOutput("");
|
||||||
|
setIsLoading(true);
|
||||||
|
aiGenerateStreamMutation.mutate({
|
||||||
|
action: command.action,
|
||||||
|
prompt: command.prompt,
|
||||||
|
content,
|
||||||
|
onChunk: (chunk) => {
|
||||||
|
setOutput((output) => output + chunk.content);
|
||||||
|
},
|
||||||
|
onComplete: () => {
|
||||||
|
setIsLoading(false);
|
||||||
|
setActiveCommandSet("result");
|
||||||
|
},
|
||||||
|
onError: () => {
|
||||||
|
setIsLoading(false);
|
||||||
|
resetMenu();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
setLastAction(command);
|
||||||
|
},
|
||||||
|
[
|
||||||
|
editor,
|
||||||
|
prompt,
|
||||||
|
isLoading,
|
||||||
|
aiGenerateStreamMutation.mutateAsync,
|
||||||
|
resetMenu,
|
||||||
|
],
|
||||||
|
);
|
||||||
|
const handleCommand = useCallback(
|
||||||
|
(item?: CommandItem) => {
|
||||||
|
setPrompt("");
|
||||||
|
|
||||||
|
if (!item) {
|
||||||
|
return handleGenerate();
|
||||||
|
}
|
||||||
|
if (item.id === "back") {
|
||||||
|
return setActiveCommandSet("main");
|
||||||
|
}
|
||||||
|
if (item.id === "result-replace") {
|
||||||
|
const chain = editor.chain().focus();
|
||||||
|
|
||||||
|
if (lastAction.action === AiAction.CONTINUE_WRITING) {
|
||||||
|
chain.setTextSelection(editor.state.selection.to);
|
||||||
|
}
|
||||||
|
|
||||||
|
chain.insertContent(marked.parse(output)).run();
|
||||||
|
|
||||||
|
return setShowAiMenu(false);
|
||||||
|
}
|
||||||
|
if (item.id === "result-insert-below") {
|
||||||
|
editor
|
||||||
|
.chain()
|
||||||
|
.focus()
|
||||||
|
.setTextSelection(editor.state.selection.to)
|
||||||
|
.insertContent(marked.parse(output))
|
||||||
|
.run();
|
||||||
|
|
||||||
|
return setShowAiMenu(false);
|
||||||
|
}
|
||||||
|
if (item.id === "result-copy") {
|
||||||
|
navigator.clipboard.writeText(output);
|
||||||
|
|
||||||
|
return setShowAiMenu(false);
|
||||||
|
}
|
||||||
|
if (item.id === "result-discard") {
|
||||||
|
setOutput("");
|
||||||
|
|
||||||
|
return resetMenu();
|
||||||
|
}
|
||||||
|
if (item.id === "result-try-again" && lastAction) {
|
||||||
|
return handleGenerate(lastAction);
|
||||||
|
}
|
||||||
|
if (item.subCommandSet) {
|
||||||
|
return setActiveCommandSet(item.subCommandSet);
|
||||||
|
}
|
||||||
|
|
||||||
|
return handleGenerate(item);
|
||||||
|
},
|
||||||
|
[editor, output, lastAction, handleGenerate, resetMenu],
|
||||||
|
);
|
||||||
|
const handleKeyDown = useCallback(
|
||||||
|
(event: React.KeyboardEvent<HTMLInputElement>) => {
|
||||||
|
const totalItems = currentItems.length;
|
||||||
|
const cycleSize = totalItems + 1;
|
||||||
|
|
||||||
|
if (event.key === "Escape") {
|
||||||
|
return setShowAiMenu(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
return setSelectedIndex((selectedIndex) => {
|
||||||
|
const direction = event.key === "ArrowDown" ? 1 : -1;
|
||||||
|
const newIndex = selectedIndex + direction;
|
||||||
|
|
||||||
|
if (newIndex < -1) return cycleSize - 1;
|
||||||
|
if (newIndex >= cycleSize) return 0;
|
||||||
|
|
||||||
|
return newIndex;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (event.key === "Enter") {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
return handleCommand(currentItems[selectedIndex]);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[currentItems, selectedIndex],
|
||||||
|
);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!editor) return;
|
||||||
|
|
||||||
|
const handleClose = () => setShowAiMenu(false);
|
||||||
|
const observer = new ResizeObserver(() => {
|
||||||
|
debouncedUpdateMenuPlacement();
|
||||||
|
});
|
||||||
|
|
||||||
|
updateMenuPlacement();
|
||||||
|
editor.on("focus", handleClose);
|
||||||
|
editor.on("blur", handleClose);
|
||||||
|
window.addEventListener("resize", debouncedUpdateMenuPlacement);
|
||||||
|
window.addEventListener("scroll", debouncedUpdateMenuPlacement, true);
|
||||||
|
observer.observe(editor.view.dom);
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
editor.off("focus", handleClose);
|
||||||
|
editor.off("blur", handleClose);
|
||||||
|
window.removeEventListener("resize", debouncedUpdateMenuPlacement);
|
||||||
|
window.removeEventListener("scroll", debouncedUpdateMenuPlacement, true);
|
||||||
|
observer.disconnect();
|
||||||
|
};
|
||||||
|
}, [editor, updateMenuPlacement, debouncedUpdateMenuPlacement]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (showAiMenu) {
|
||||||
|
resetMenu();
|
||||||
|
}
|
||||||
|
}, [showAiMenu, resetMenu]);
|
||||||
|
useEffect(() => {
|
||||||
|
// Focus input when menu opens or command set changes
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
inputRef.current?.focus();
|
||||||
|
});
|
||||||
|
}, [showAiMenu, isLoading, currentItems]);
|
||||||
|
useEffect(() => {
|
||||||
|
if (!currentItems.length) {
|
||||||
|
setSelectedIndex(-1);
|
||||||
|
}
|
||||||
|
setSelectedIndex(prompt || activeCommandSet !== "main" ? 0 : -1);
|
||||||
|
}, [prompt, activeCommandSet, currentItems]);
|
||||||
|
|
||||||
|
if (!showAiMenu) return null;
|
||||||
|
|
||||||
|
return createPortal(
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
zIndex: 200,
|
||||||
|
position: "fixed",
|
||||||
|
top: menuPlacement.top,
|
||||||
|
left: menuPlacement.left,
|
||||||
|
width: menuPlacement.width,
|
||||||
|
pointerEvents: "none",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
className={classes.aiMenu}
|
||||||
|
style={{ pointerEvents: "auto" }}
|
||||||
|
tabIndex={0}
|
||||||
|
ref={containerRef}
|
||||||
|
>
|
||||||
|
<ResultPreview output={output} isLoading={isLoading} />
|
||||||
|
<CommandSelector
|
||||||
|
selectedIndex={selectedIndex}
|
||||||
|
isLoading={isLoading}
|
||||||
|
output={output}
|
||||||
|
currentItems={currentItems}
|
||||||
|
handleCommand={handleCommand}
|
||||||
|
>
|
||||||
|
<TextInput
|
||||||
|
ref={inputRef}
|
||||||
|
style={{ width: "100%" }}
|
||||||
|
placeholder="Ask AI..."
|
||||||
|
data-autofocus
|
||||||
|
value={prompt}
|
||||||
|
disabled={isLoading}
|
||||||
|
onChange={(e) => setPrompt(e.currentTarget.value)}
|
||||||
|
rightSection={
|
||||||
|
<Tooltip label="Ask AI">
|
||||||
|
<ActionIcon
|
||||||
|
disabled={!prompt || isLoading}
|
||||||
|
variant="transparent"
|
||||||
|
onClick={() => handleGenerate()}
|
||||||
|
>
|
||||||
|
<IconSend size={16} />
|
||||||
|
</ActionIcon>
|
||||||
|
</Tooltip>
|
||||||
|
}
|
||||||
|
onKeyDown={handleKeyDown}
|
||||||
|
/>
|
||||||
|
</CommandSelector>
|
||||||
|
</div>
|
||||||
|
</div>,
|
||||||
|
document.body,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { EditorAiMenu };
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
import { AiAction } from "@/ee/ai/types/ai.types";
|
||||||
|
import {
|
||||||
|
IconSparkles,
|
||||||
|
IconArrowsMaximize,
|
||||||
|
IconArrowsMinimize,
|
||||||
|
IconWriting,
|
||||||
|
IconHelp,
|
||||||
|
IconList,
|
||||||
|
IconMoodSmile,
|
||||||
|
IconLanguage,
|
||||||
|
IconTrash,
|
||||||
|
IconRefresh,
|
||||||
|
IconChevronLeft,
|
||||||
|
IconCheck,
|
||||||
|
IconArrowDownLeft,
|
||||||
|
IconCopy,
|
||||||
|
IconTextPlus,
|
||||||
|
IconAlignJustified,
|
||||||
|
} from "@tabler/icons-react";
|
||||||
|
|
||||||
|
interface CommandItem {
|
||||||
|
name: string;
|
||||||
|
id: string;
|
||||||
|
icon?: typeof IconSparkles;
|
||||||
|
action?: AiAction;
|
||||||
|
prompt?: string;
|
||||||
|
subCommandSet?: CommandSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
type CommandSet = "main" | "tone" | "translate" | "result";
|
||||||
|
|
||||||
|
const mainItems: CommandItem[] = [
|
||||||
|
{
|
||||||
|
id: "improve-writing",
|
||||||
|
name: "Improve writing",
|
||||||
|
icon: IconSparkles,
|
||||||
|
action: AiAction.IMPROVE_WRITING,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "fix-spelling-grammar",
|
||||||
|
name: "Fix spelling & grammar",
|
||||||
|
icon: IconCheck,
|
||||||
|
action: AiAction.FIX_SPELLING_GRAMMAR,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "make-longer",
|
||||||
|
name: "Make longer",
|
||||||
|
icon: IconTextPlus,
|
||||||
|
action: AiAction.MAKE_LONGER,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "make-shorter",
|
||||||
|
name: "Make shorter",
|
||||||
|
icon: IconAlignJustified,
|
||||||
|
action: AiAction.MAKE_SHORTER,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "continue-writing",
|
||||||
|
name: "Continue writing",
|
||||||
|
icon: IconWriting,
|
||||||
|
action: AiAction.CONTINUE_WRITING,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "explain",
|
||||||
|
name: "Explain",
|
||||||
|
icon: IconHelp,
|
||||||
|
action: AiAction.CUSTOM,
|
||||||
|
prompt: "Explain this text",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "summarize",
|
||||||
|
name: "Summarize",
|
||||||
|
icon: IconList,
|
||||||
|
action: AiAction.SUMMARIZE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "change-tone",
|
||||||
|
name: "Change tone",
|
||||||
|
icon: IconMoodSmile,
|
||||||
|
subCommandSet: "tone",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "translate",
|
||||||
|
name: "Translate",
|
||||||
|
icon: IconLanguage,
|
||||||
|
subCommandSet: "translate",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const toneItems: CommandItem[] = [
|
||||||
|
{
|
||||||
|
id: "back",
|
||||||
|
name: "Back",
|
||||||
|
icon: IconChevronLeft,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "tone-professional",
|
||||||
|
name: "Professional",
|
||||||
|
icon: IconMoodSmile,
|
||||||
|
action: AiAction.CHANGE_TONE,
|
||||||
|
prompt: "Professional",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "tone-casual",
|
||||||
|
name: "Casual",
|
||||||
|
icon: IconMoodSmile,
|
||||||
|
action: AiAction.CHANGE_TONE,
|
||||||
|
prompt: "Casual",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "tone-friendly",
|
||||||
|
name: "Friendly",
|
||||||
|
icon: IconMoodSmile,
|
||||||
|
action: AiAction.CHANGE_TONE,
|
||||||
|
prompt: "Friendly",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const translateItems: CommandItem[] = [
|
||||||
|
{
|
||||||
|
id: "back",
|
||||||
|
name: "Back",
|
||||||
|
icon: IconChevronLeft,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "translate-english",
|
||||||
|
name: "English",
|
||||||
|
icon: IconLanguage,
|
||||||
|
action: AiAction.TRANSLATE,
|
||||||
|
prompt: "English",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "translate-french",
|
||||||
|
name: "French",
|
||||||
|
icon: IconLanguage,
|
||||||
|
action: AiAction.TRANSLATE,
|
||||||
|
prompt: "French",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "translate-german",
|
||||||
|
name: "German",
|
||||||
|
icon: IconLanguage,
|
||||||
|
action: AiAction.TRANSLATE,
|
||||||
|
prompt: "German",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const resultItems: CommandItem[] = [
|
||||||
|
{ id: "result-replace", name: "Replace", icon: IconCheck },
|
||||||
|
{ id: "result-insert-below", name: "Insert below", icon: IconArrowDownLeft },
|
||||||
|
{ id: "result-copy", name: "Copy", icon: IconCopy },
|
||||||
|
{ id: "result-discard", name: "Discard", icon: IconTrash },
|
||||||
|
{
|
||||||
|
id: "result-try-again",
|
||||||
|
name: "Try again",
|
||||||
|
icon: IconRefresh,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const commandItems: Record<CommandSet, CommandItem[]> = {
|
||||||
|
main: mainItems,
|
||||||
|
tone: toneItems,
|
||||||
|
translate: translateItems,
|
||||||
|
result: resultItems,
|
||||||
|
};
|
||||||
|
|
||||||
|
export type { CommandItem, CommandSet };
|
||||||
|
export { commandItems };
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
import { Loader, Menu, ScrollArea } from "@mantine/core";
|
||||||
|
import { IconChevronRight } from "@tabler/icons-react";
|
||||||
|
import { ReactNode } from "react";
|
||||||
|
import { CommandItem } from "./command-items";
|
||||||
|
import classes from "./ai-menu.module.css";
|
||||||
|
|
||||||
|
interface CommandSelectorProps {
|
||||||
|
selectedIndex: number;
|
||||||
|
|
||||||
|
isLoading: boolean;
|
||||||
|
output: string;
|
||||||
|
currentItems: CommandItem[];
|
||||||
|
children: ReactNode;
|
||||||
|
handleCommand(item: CommandItem): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
const CommandSelector = ({
|
||||||
|
selectedIndex,
|
||||||
|
children,
|
||||||
|
isLoading,
|
||||||
|
output,
|
||||||
|
currentItems,
|
||||||
|
handleCommand,
|
||||||
|
}: CommandSelectorProps) => {
|
||||||
|
return (
|
||||||
|
<Menu
|
||||||
|
opened={!isLoading && currentItems.length > 0}
|
||||||
|
position="bottom-start"
|
||||||
|
offset={4}
|
||||||
|
width={250}
|
||||||
|
trapFocus={false}
|
||||||
|
shadow="lg"
|
||||||
|
>
|
||||||
|
<Menu.Target>{children}</Menu.Target>
|
||||||
|
<Menu.Dropdown>
|
||||||
|
<ScrollArea.Autosize type="scroll" scrollbarSize={5} mah={300}>
|
||||||
|
{currentItems.map((item, index) => {
|
||||||
|
const isSelected = selectedIndex === index;
|
||||||
|
const showLoader =
|
||||||
|
isLoading && output === "" && !item.subCommandSet;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Menu.Item
|
||||||
|
key={item.id}
|
||||||
|
className={isSelected ? classes.menuItemSelected : undefined}
|
||||||
|
leftSection={
|
||||||
|
showLoader ? (
|
||||||
|
<Loader size={14} />
|
||||||
|
) : item.icon ? (
|
||||||
|
<item.icon size={16} />
|
||||||
|
) : undefined
|
||||||
|
}
|
||||||
|
rightSection={
|
||||||
|
item.subCommandSet ? (
|
||||||
|
<IconChevronRight size={14} />
|
||||||
|
) : undefined
|
||||||
|
}
|
||||||
|
onClick={() => handleCommand(item)}
|
||||||
|
disabled={isLoading}
|
||||||
|
>
|
||||||
|
{item.name}
|
||||||
|
</Menu.Item>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</ScrollArea.Autosize>
|
||||||
|
</Menu.Dropdown>
|
||||||
|
</Menu>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export { CommandSelector };
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
import { Loader, Paper, Text } from "@mantine/core";
|
||||||
|
import DOMPurify from "dompurify";
|
||||||
|
import { marked } from "marked";
|
||||||
|
import { memo } from "react";
|
||||||
|
import classes from "./ai-menu.module.css";
|
||||||
|
|
||||||
|
interface ResultPreviewProps {
|
||||||
|
output: string;
|
||||||
|
isLoading: boolean;
|
||||||
|
}
|
||||||
|
const ResultPreview = memo(({ output, isLoading }: ResultPreviewProps) => {
|
||||||
|
if (!output && !isLoading) return;
|
||||||
|
|
||||||
|
const parsedOutput = `${marked.parse(output)}`;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Paper p="sm" mb={4} shadow="lg" withBorder>
|
||||||
|
<Text size="sm" component="div">
|
||||||
|
{parsedOutput && (
|
||||||
|
<div
|
||||||
|
className={classes.resultPreviewWrapper}
|
||||||
|
dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(parsedOutput) }}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
{isLoading && <Loader size={12} ml="xs" display="inline-block" />}
|
||||||
|
</Text>
|
||||||
|
</Paper>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
export { ResultPreview };
|
||||||
@@ -9,10 +9,11 @@ import {
|
|||||||
IconStrikethrough,
|
IconStrikethrough,
|
||||||
IconUnderline,
|
IconUnderline,
|
||||||
IconMessage,
|
IconMessage,
|
||||||
|
IconSparkles,
|
||||||
} from "@tabler/icons-react";
|
} from "@tabler/icons-react";
|
||||||
import clsx from "clsx";
|
import clsx from "clsx";
|
||||||
import classes from "./bubble-menu.module.css";
|
import classes from "./bubble-menu.module.css";
|
||||||
import { ActionIcon, rem, Tooltip } from "@mantine/core";
|
import { ActionIcon, Button, rem, Tooltip } from "@mantine/core";
|
||||||
import { ColorSelector } from "./color-selector";
|
import { ColorSelector } from "./color-selector";
|
||||||
import { NodeSelector } from "./node-selector";
|
import { NodeSelector } from "./node-selector";
|
||||||
import { TextAlignmentSelector } from "./text-alignment-selector";
|
import { TextAlignmentSelector } from "./text-alignment-selector";
|
||||||
@@ -25,6 +26,7 @@ import { v7 as uuid7 } from "uuid";
|
|||||||
import { isCellSelection, isTextSelected } from "@docmost/editor-ext";
|
import { isCellSelection, isTextSelected } from "@docmost/editor-ext";
|
||||||
import { LinkSelector } from "@/features/editor/components/bubble-menu/link-selector.tsx";
|
import { LinkSelector } from "@/features/editor/components/bubble-menu/link-selector.tsx";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
import { showAiMenuAtom } from "@/features/editor/atoms/editor-atoms";
|
||||||
|
|
||||||
export interface BubbleMenuItem {
|
export interface BubbleMenuItem {
|
||||||
name: string;
|
name: string;
|
||||||
@@ -39,14 +41,20 @@ type EditorBubbleMenuProps = Omit<BubbleMenuProps, "children" | "editor"> & {
|
|||||||
|
|
||||||
export const EditorBubbleMenu: FC<EditorBubbleMenuProps> = (props) => {
|
export const EditorBubbleMenu: FC<EditorBubbleMenuProps> = (props) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
const [showAiMenu, setShowAiMenu] = useAtom(showAiMenuAtom);
|
||||||
const [showCommentPopup, setShowCommentPopup] = useAtom(showCommentPopupAtom);
|
const [showCommentPopup, setShowCommentPopup] = useAtom(showCommentPopupAtom);
|
||||||
const [, setDraftCommentId] = useAtom(draftCommentIdAtom);
|
const [, setDraftCommentId] = useAtom(draftCommentIdAtom);
|
||||||
const showCommentPopupRef = useRef(showCommentPopup);
|
const showCommentPopupRef = useRef(showCommentPopup);
|
||||||
|
const showAiMenuRef = useRef(showAiMenu);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
showCommentPopupRef.current = showCommentPopup;
|
showCommentPopupRef.current = showCommentPopup;
|
||||||
}, [showCommentPopup]);
|
}, [showCommentPopup]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
showAiMenuRef.current = showAiMenu;
|
||||||
|
}, [showAiMenu]);
|
||||||
|
|
||||||
const editorState = useEditorState({
|
const editorState = useEditorState({
|
||||||
editor: props.editor,
|
editor: props.editor,
|
||||||
selector: (ctx) => {
|
selector: (ctx) => {
|
||||||
@@ -123,6 +131,7 @@ export const EditorBubbleMenu: FC<EditorBubbleMenuProps> = (props) => {
|
|||||||
empty ||
|
empty ||
|
||||||
isNodeSelection(selection) ||
|
isNodeSelection(selection) ||
|
||||||
isCellSelection(selection) ||
|
isCellSelection(selection) ||
|
||||||
|
showAiMenuRef.current ||
|
||||||
showCommentPopupRef?.current
|
showCommentPopupRef?.current
|
||||||
) {
|
) {
|
||||||
return false;
|
return false;
|
||||||
@@ -146,9 +155,26 @@ export const EditorBubbleMenu: FC<EditorBubbleMenuProps> = (props) => {
|
|||||||
const [isLinkSelectorOpen, setIsLinkSelectorOpen] = useState(false);
|
const [isLinkSelectorOpen, setIsLinkSelectorOpen] = useState(false);
|
||||||
const [isColorSelectorOpen, setIsColorSelectorOpen] = useState(false);
|
const [isColorSelectorOpen, setIsColorSelectorOpen] = useState(false);
|
||||||
|
|
||||||
|
// Hide the bubble menu immediately when AI menu is shown
|
||||||
|
if (showAiMenu) return;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<BubbleMenu {...bubbleMenuProps} style={{ zIndex: 200, position: "relative"}}>
|
<BubbleMenu
|
||||||
|
{...bubbleMenuProps}
|
||||||
|
style={{ zIndex: 200, position: "relative" }}
|
||||||
|
>
|
||||||
<div className={classes.bubbleMenu}>
|
<div className={classes.bubbleMenu}>
|
||||||
|
<Button
|
||||||
|
variant="default"
|
||||||
|
style={{ border: "none", height: "34px" }}
|
||||||
|
radius="0"
|
||||||
|
rightSection={<IconSparkles size={16} />}
|
||||||
|
onClick={() => {
|
||||||
|
setShowAiMenu(true);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Ask AI
|
||||||
|
</Button>
|
||||||
<NodeSelector
|
<NodeSelector
|
||||||
editor={props.editor}
|
editor={props.editor}
|
||||||
isOpen={isNodeSelectorOpen}
|
isOpen={isNodeSelectorOpen}
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ import { PageEditMode } from "@/features/user/types/user.types.ts";
|
|||||||
import { jwtDecode } from "jwt-decode";
|
import { jwtDecode } from "jwt-decode";
|
||||||
import { searchSpotlight } from "@/features/search/constants.ts";
|
import { searchSpotlight } from "@/features/search/constants.ts";
|
||||||
import { useEditorScroll } from "./hooks/use-editor-scroll";
|
import { useEditorScroll } from "./hooks/use-editor-scroll";
|
||||||
|
import { EditorAiMenu } from "./components/ai-menu/ai-menu";
|
||||||
|
|
||||||
interface PageEditorProps {
|
interface PageEditorProps {
|
||||||
pageId: string;
|
pageId: string;
|
||||||
@@ -405,6 +406,7 @@ export default function PageEditor({
|
|||||||
|
|
||||||
{editor && editorIsEditable && (
|
{editor && editorIsEditable && (
|
||||||
<div>
|
<div>
|
||||||
|
<EditorAiMenu editor={editor} />
|
||||||
<EditorBubbleMenu editor={editor} />
|
<EditorBubbleMenu editor={editor} />
|
||||||
<TableMenu editor={editor} />
|
<TableMenu editor={editor} />
|
||||||
<TableCellMenu editor={editor} appendTo={menuContainerRef} />
|
<TableCellMenu editor={editor} appendTo={menuContainerRef} />
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.mantine-AppShell-main {
|
.mantine-AppShell-main {
|
||||||
padding-top: 0 !important;
|
padding: 0 !important;
|
||||||
min-height: auto !important;
|
min-height: auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "server",
|
"name": "server",
|
||||||
"version": "0.25.0",
|
"version": "0.25.1",
|
||||||
"description": "",
|
"description": "",
|
||||||
"author": "",
|
"author": "",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
|||||||
+1
-1
Submodule apps/server/src/ee updated: 6d3eb76d4e...3a4b47ec30
@@ -6,6 +6,11 @@
|
|||||||
],
|
],
|
||||||
"cache": true
|
"cache": true
|
||||||
},
|
},
|
||||||
|
"start:dev": {
|
||||||
|
"dependsOn": [
|
||||||
|
"^build"
|
||||||
|
]
|
||||||
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
"cache": true
|
"cache": true
|
||||||
}
|
}
|
||||||
|
|||||||
+31
-31
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "docmost",
|
"name": "docmost",
|
||||||
"homepage": "https://docmost.com",
|
"homepage": "https://docmost.com",
|
||||||
"version": "0.25.0",
|
"version": "0.25.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "nx run-many -t build",
|
"build": "nx run-many -t build",
|
||||||
@@ -23,39 +23,39 @@
|
|||||||
"@casl/ability": "6.8.0",
|
"@casl/ability": "6.8.0",
|
||||||
"@docmost/editor-ext": "workspace:*",
|
"@docmost/editor-ext": "workspace:*",
|
||||||
"@floating-ui/dom": "^1.7.3",
|
"@floating-ui/dom": "^1.7.3",
|
||||||
"@hocuspocus/provider": "3.4.3",
|
"@hocuspocus/provider": "3.4.4",
|
||||||
"@hocuspocus/server": "3.4.3",
|
"@hocuspocus/server": "3.4.4",
|
||||||
"@hocuspocus/transformer": "3.4.3",
|
"@hocuspocus/transformer": "3.4.4",
|
||||||
"@joplin/turndown": "^4.0.74",
|
"@joplin/turndown": "^4.0.74",
|
||||||
"@joplin/turndown-plugin-gfm": "^1.0.56",
|
"@joplin/turndown-plugin-gfm": "^1.0.56",
|
||||||
"@sindresorhus/slugify": "1.1.0",
|
"@sindresorhus/slugify": "1.1.0",
|
||||||
"@tiptap/core": "3.19.0",
|
"@tiptap/core": "3.17.1",
|
||||||
"@tiptap/extension-code-block": "3.19.0",
|
"@tiptap/extension-code-block": "3.17.1",
|
||||||
"@tiptap/extension-collaboration": "3.19.0",
|
"@tiptap/extension-collaboration": "3.17.1",
|
||||||
"@tiptap/extension-collaboration-caret": "3.19.0",
|
"@tiptap/extension-collaboration-caret": "3.17.1",
|
||||||
"@tiptap/extension-color": "3.19.0",
|
"@tiptap/extension-color": "3.17.1",
|
||||||
"@tiptap/extension-document": "3.19.0",
|
"@tiptap/extension-document": "3.17.1",
|
||||||
"@tiptap/extension-heading": "3.19.0",
|
"@tiptap/extension-heading": "3.17.1",
|
||||||
"@tiptap/extension-highlight": "3.19.0",
|
"@tiptap/extension-highlight": "3.17.1",
|
||||||
"@tiptap/extension-history": "3.19.0",
|
"@tiptap/extension-history": "3.17.1",
|
||||||
"@tiptap/extension-image": "3.19.0",
|
"@tiptap/extension-image": "3.17.1",
|
||||||
"@tiptap/extension-link": "3.19.0",
|
"@tiptap/extension-link": "3.17.1",
|
||||||
"@tiptap/extension-list": "3.19.0",
|
"@tiptap/extension-list": "3.17.1",
|
||||||
"@tiptap/extension-placeholder": "3.19.0",
|
"@tiptap/extension-placeholder": "3.17.1",
|
||||||
"@tiptap/extension-subscript": "3.19.0",
|
"@tiptap/extension-subscript": "3.17.1",
|
||||||
"@tiptap/extension-superscript": "3.19.0",
|
"@tiptap/extension-superscript": "3.17.1",
|
||||||
"@tiptap/extension-table": "3.19.0",
|
"@tiptap/extension-table": "3.17.1",
|
||||||
"@tiptap/extension-text": "3.19.0",
|
"@tiptap/extension-text": "3.17.1",
|
||||||
"@tiptap/extension-text-align": "3.19.0",
|
"@tiptap/extension-text-align": "3.17.1",
|
||||||
"@tiptap/extension-text-style": "3.19.0",
|
"@tiptap/extension-text-style": "3.17.1",
|
||||||
"@tiptap/extension-typography": "3.19.0",
|
"@tiptap/extension-typography": "3.17.1",
|
||||||
"@tiptap/extension-unique-id": "^3.19.0",
|
"@tiptap/extension-unique-id": "^3.17.1",
|
||||||
"@tiptap/extension-youtube": "3.19.0",
|
"@tiptap/extension-youtube": "3.17.1",
|
||||||
"@tiptap/html": "3.19.0",
|
"@tiptap/html": "3.17.1",
|
||||||
"@tiptap/pm": "3.19.0",
|
"@tiptap/pm": "3.17.1",
|
||||||
"@tiptap/react": "3.19.0",
|
"@tiptap/react": "3.17.1",
|
||||||
"@tiptap/starter-kit": "3.19.0",
|
"@tiptap/starter-kit": "3.17.1",
|
||||||
"@tiptap/suggestion": "3.19.0",
|
"@tiptap/suggestion": "3.17.1",
|
||||||
"@types/qrcode": "^1.5.5",
|
"@types/qrcode": "^1.5.5",
|
||||||
"bytes": "^3.1.2",
|
"bytes": "^3.1.2",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
|
|||||||
Generated
+294
-294
@@ -32,14 +32,14 @@ importers:
|
|||||||
specifier: ^1.7.3
|
specifier: ^1.7.3
|
||||||
version: 1.7.3
|
version: 1.7.3
|
||||||
'@hocuspocus/provider':
|
'@hocuspocus/provider':
|
||||||
specifier: 3.4.3
|
specifier: 3.4.4
|
||||||
version: 3.4.3(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
version: 3.4.4(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
||||||
'@hocuspocus/server':
|
'@hocuspocus/server':
|
||||||
specifier: 3.4.3
|
specifier: 3.4.4
|
||||||
version: 3.4.3(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
version: 3.4.4(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
||||||
'@hocuspocus/transformer':
|
'@hocuspocus/transformer':
|
||||||
specifier: 3.4.3
|
specifier: 3.4.4
|
||||||
version: 3.4.3(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(y-prosemirror@1.3.7(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))(yjs@13.6.29)
|
version: 3.4.4(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(y-prosemirror@1.3.7(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))(yjs@13.6.29)
|
||||||
'@joplin/turndown':
|
'@joplin/turndown':
|
||||||
specifier: ^4.0.74
|
specifier: ^4.0.74
|
||||||
version: 4.0.74
|
version: 4.0.74
|
||||||
@@ -50,86 +50,86 @@ importers:
|
|||||||
specifier: 1.1.0
|
specifier: 1.1.0
|
||||||
version: 1.1.0
|
version: 1.1.0
|
||||||
'@tiptap/core':
|
'@tiptap/core':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/pm@3.19.0)
|
version: 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-code-block':
|
'@tiptap/extension-code-block':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-collaboration':
|
'@tiptap/extension-collaboration':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))(yjs@13.6.29)
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))(yjs@13.6.29)
|
||||||
'@tiptap/extension-collaboration-caret':
|
'@tiptap/extension-collaboration-caret':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))
|
||||||
'@tiptap/extension-color':
|
'@tiptap/extension-color':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/extension-text-style@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0)))
|
version: 3.17.1(@tiptap/extension-text-style@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1)))
|
||||||
'@tiptap/extension-document':
|
'@tiptap/extension-document':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-heading':
|
'@tiptap/extension-heading':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-highlight':
|
'@tiptap/extension-highlight':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-history':
|
'@tiptap/extension-history':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/extensions@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-image':
|
'@tiptap/extension-image':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-link':
|
'@tiptap/extension-link':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-list':
|
'@tiptap/extension-list':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-placeholder':
|
'@tiptap/extension-placeholder':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/extensions@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-subscript':
|
'@tiptap/extension-subscript':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-superscript':
|
'@tiptap/extension-superscript':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-table':
|
'@tiptap/extension-table':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-text':
|
'@tiptap/extension-text':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-text-align':
|
'@tiptap/extension-text-align':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-text-style':
|
'@tiptap/extension-text-style':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-typography':
|
'@tiptap/extension-typography':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-unique-id':
|
'@tiptap/extension-unique-id':
|
||||||
specifier: ^3.19.0
|
specifier: ^3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
version: 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-youtube':
|
'@tiptap/extension-youtube':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/html':
|
'@tiptap/html':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(happy-dom@20.1.0)
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(happy-dom@20.1.0)
|
||||||
'@tiptap/pm':
|
'@tiptap/pm':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0
|
version: 3.17.1
|
||||||
'@tiptap/react':
|
'@tiptap/react':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
version: 3.17.1(@floating-ui/dom@1.7.3)(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
'@tiptap/starter-kit':
|
'@tiptap/starter-kit':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0
|
version: 3.17.1
|
||||||
'@tiptap/suggestion':
|
'@tiptap/suggestion':
|
||||||
specifier: 3.19.0
|
specifier: 3.17.1
|
||||||
version: 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
version: 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@types/qrcode':
|
'@types/qrcode':
|
||||||
specifier: ^1.5.5
|
specifier: ^1.5.5
|
||||||
version: 1.5.5
|
version: 1.5.5
|
||||||
@@ -2389,23 +2389,23 @@ packages:
|
|||||||
'@floating-ui/utils@0.2.10':
|
'@floating-ui/utils@0.2.10':
|
||||||
resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
|
resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
|
||||||
|
|
||||||
'@hocuspocus/common@3.4.3':
|
'@hocuspocus/common@3.4.4':
|
||||||
resolution: {integrity: sha512-wnBBO9sWcVAoUPEXN1qO+zk3HaEF9VTemxB6kjuuH6e1dHnD0v12m4P4X1wiZVhmMIX/PMl/fu3MGtYWQJz8gA==}
|
resolution: {integrity: sha512-RykIJ0tsHHMP4Xk+4UCbc7SO5LgGxGUSTdbh6anJEsaALAyqinf1Nn5HYuMjLPolAmsar1v++m9zufR09NLpXA==}
|
||||||
|
|
||||||
'@hocuspocus/provider@3.4.3':
|
'@hocuspocus/provider@3.4.4':
|
||||||
resolution: {integrity: sha512-zt+UgVXGsEQrqnDZgavc2PT9yKJjmVjV+5YxvhlmFVFLVORqawT4l601aKmLPhvyK97un4ZApZ5rso8iO6crWg==}
|
resolution: {integrity: sha512-KbsMAfdYcIJD8eMU/5QnpXcSOvIWAcCNI33FSRSaKCIpYBFtAwkYIwWnZJmPZ8a1BMAtqQc+uvy9+UQf7GHnGQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
y-protocols: ^1.0.6
|
y-protocols: ^1.0.6
|
||||||
yjs: ^13.6.8
|
yjs: ^13.6.8
|
||||||
|
|
||||||
'@hocuspocus/server@3.4.3':
|
'@hocuspocus/server@3.4.4':
|
||||||
resolution: {integrity: sha512-a9bqAXUMBo9YBeuzqNf9C3eVbu1RIWUrtmFMGq+ZssQr3Jugt/5PCkZskgqhJNvPkyTARHcUtN80j/SDLylZmg==}
|
resolution: {integrity: sha512-UV+oaONAejOzeYgUygNcgsc8RdZvSokVvAxluZJIisLACpRO/VsseQ5lWKDRwLd7Fn6+rHWDH3hGuQ1fdX1Ycg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
y-protocols: ^1.0.6
|
y-protocols: ^1.0.6
|
||||||
yjs: ^13.6.8
|
yjs: ^13.6.8
|
||||||
|
|
||||||
'@hocuspocus/transformer@3.4.3':
|
'@hocuspocus/transformer@3.4.4':
|
||||||
resolution: {integrity: sha512-jQZiqFGCvGQJLgE0nHZ4TdpEJlI7WkM8CKA1wLcs0beVs0kNXg32lykGckjveJwwJuJ/hieMqIEqj9POxTWPEw==}
|
resolution: {integrity: sha512-X0EJ863LV97YbL5m8WTt4NDSC6uHi6ZCq/teIH5aholdjdhdTmFrzMemdhha/ZqPUZyaKhOoAmZzwR55HZLPpQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.0.1
|
'@tiptap/core': ^3.0.1
|
||||||
'@tiptap/pm': ^3.0.1
|
'@tiptap/pm': ^3.0.1
|
||||||
@@ -4239,10 +4239,10 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18 || ^19
|
react: ^18 || ^19
|
||||||
|
|
||||||
'@tiptap/core@3.19.0':
|
'@tiptap/core@3.17.1':
|
||||||
resolution: {integrity: sha512-bpqELwPW+DG8gWiD8iiFtSl4vIBooG5uVJod92Qxn3rA9nFatyXRr4kNbMJmOZ66ezUvmCjXVe/5/G4i5cyzKA==}
|
resolution: {integrity: sha512-f8hB9MzXqsuXoF9qXEDEH5Fb3VgwhEFMBMfk9EKN88l5adri6oM8mt2XOWVxVVssjpEW0177zXSLPKWzoS/vrw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-blockquote@3.19.0':
|
'@tiptap/extension-blockquote@3.19.0':
|
||||||
resolution: {integrity: sha512-y3UfqY9KD5XwWz3ndiiJ089Ij2QKeiXy/g1/tlAN/F1AaWsnkHEHMLxCP1BIqmMpwsX7rZjMLN7G5Lp7c9682A==}
|
resolution: {integrity: sha512-y3UfqY9KD5XwWz3ndiiJ089Ij2QKeiXy/g1/tlAN/F1AaWsnkHEHMLxCP1BIqmMpwsX7rZjMLN7G5Lp7c9682A==}
|
||||||
@@ -4265,41 +4265,41 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/extension-list': ^3.19.0
|
'@tiptap/extension-list': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/extension-code-block@3.19.0':
|
'@tiptap/extension-code-block@3.17.1':
|
||||||
resolution: {integrity: sha512-b/2qR+tMn8MQb+eaFYgVk4qXnLNkkRYmwELQ8LEtEDQPxa5Vl7J3eu8+4OyoIFhZrNDZvvoEp80kHMCP8sI6rg==}
|
resolution: {integrity: sha512-h4i+Y/cN7nMi0Tmlp6V1w4dI7NTqrUFSr1W/vMqnq4vn+c6jvm35KubKU5ry/1qQp8KfndDA02BtVQiMx6DmpA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-code@3.19.0':
|
'@tiptap/extension-code@3.19.0':
|
||||||
resolution: {integrity: sha512-2kqqQIXBXj2Or+4qeY3WoE7msK+XaHKL6EKOcKlOP2BW8eYqNTPzNSL+PfBDQ3snA7ljZQkTs/j4GYDj90vR1A==}
|
resolution: {integrity: sha512-2kqqQIXBXj2Or+4qeY3WoE7msK+XaHKL6EKOcKlOP2BW8eYqNTPzNSL+PfBDQ3snA7ljZQkTs/j4GYDj90vR1A==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/extension-collaboration-caret@3.19.0':
|
'@tiptap/extension-collaboration-caret@3.17.1':
|
||||||
resolution: {integrity: sha512-YMHQ7ZxdWaGzR+k0UWP7eHo+jrUbrx2C3gTEGYpR2YMGN38yuV5Yelwzd2rflaedccJrFsYwMWxRRs5ygTGGUw==}
|
resolution: {integrity: sha512-tYzujG4ABacSbjd8QOqMt1IP3QdCmAEBHP2faF4SeFauaP6Nto88JvTiZVCHad0BBwiNrj4UPGZSujcNQiLjTA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
'@tiptap/y-tiptap': ^3.0.2
|
'@tiptap/y-tiptap': ^3.0.2
|
||||||
|
|
||||||
'@tiptap/extension-collaboration@3.19.0':
|
'@tiptap/extension-collaboration@3.17.1':
|
||||||
resolution: {integrity: sha512-Cb4RXo2C05w44OsT22weLYqf2mnyTacvtz3iWYswgq1slMOl4Gs5RQE+jHgyvjVbhj34yPS6ghoWBBrriX9a1w==}
|
resolution: {integrity: sha512-4ehZ5LL7M3nFfcogCG7bWRHIR/8366i1vz5i0PaaoArJga2N5sXnWcuBGXG7ykC8owbgrfL3agFxjHlhTl4sNw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
'@tiptap/y-tiptap': ^3.0.2
|
'@tiptap/y-tiptap': ^3.0.2
|
||||||
yjs: ^13
|
yjs: ^13
|
||||||
|
|
||||||
'@tiptap/extension-color@3.19.0':
|
'@tiptap/extension-color@3.17.1':
|
||||||
resolution: {integrity: sha512-SemOrEEnmbKshhbTeKIvffwMlgqDAUDuOYyizfKqYM2dd5fRjohp+oszExO7scVhDtHtvtP/l3UmkBGBYfl4Tg==}
|
resolution: {integrity: sha512-QVlzpzGB+QcZgHgvFMRPckZutpkOLzNmZzhupNA7G2CMeeoCwZOJeZkyd3zvtAnRZkf7FrQBO123On30pJt7TA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/extension-text-style': ^3.19.0
|
'@tiptap/extension-text-style': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-document@3.19.0':
|
'@tiptap/extension-document@3.17.1':
|
||||||
resolution: {integrity: sha512-AOf0kHKSFO0ymjVgYSYDncRXTITdTcrj1tqxVazrmO60KNl1Rc2dAggDvIVTEBy5NvceF0scc7q3sE/5ZtVV7A==}
|
resolution: {integrity: sha512-F7Q5HoAU383HWFa6AXZQ5N6t6lTJzVjYM8z93XrtH/2GzDFwy1UmDSrsXqvgznedBLAOgCNVTNh9PjXpLoOUbg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-dropcursor@3.19.0':
|
'@tiptap/extension-dropcursor@3.19.0':
|
||||||
resolution: {integrity: sha512-sf3dEZXiLvsGqVK2maUIzXY6qtYYCvBumag7+VPTMGQ0D4hiZ1X/4ukt4+6VXDg5R2WP1CoIt/QvUetUjWNhbQ==}
|
resolution: {integrity: sha512-sf3dEZXiLvsGqVK2maUIzXY6qtYYCvBumag7+VPTMGQ0D4hiZ1X/4ukt4+6VXDg5R2WP1CoIt/QvUetUjWNhbQ==}
|
||||||
@@ -4323,20 +4323,20 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/extension-heading@3.19.0':
|
'@tiptap/extension-heading@3.17.1':
|
||||||
resolution: {integrity: sha512-uLpLlfyp086WYNOc0ekm1gIZNlEDfmzOhKzB0Hbyi6jDagTS+p9mxUNYeYOn9jPUxpFov43+Wm/4E24oY6B+TQ==}
|
resolution: {integrity: sha512-rT+Su/YnHdlikg8f78t6RXlc1sVSfp7B0fdJdtFgS2e6BBYJQoDMp5L9nt54RR9Yy953aDW2sko7NArUCb8log==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-highlight@3.19.0':
|
'@tiptap/extension-highlight@3.17.1':
|
||||||
resolution: {integrity: sha512-MYwSDCh/aG12KXw30XmHwrruElBRB8b7Ou0jd8n8H2oXb+QexVqnMa2+ylkuTAl+2D5PR7zdIIOeeHRSTmkPPw==}
|
resolution: {integrity: sha512-I4EdBhPVzJd4ECMI9kP0NE4aG4Numd46jy/AqeZyf3dqVgCxRyAbSyU7oy4aXUnsojYODrKKG6+djm07KgOGoQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-history@3.19.0':
|
'@tiptap/extension-history@3.17.1':
|
||||||
resolution: {integrity: sha512-hhN5nL7Pqcd9iomzeUUMKnmSQieKNlJ2FUgf2dHUqqvn4pWvcHA6P6UwdDNhuKFivSJNNMqtajkOvO4bYq1KPw==}
|
resolution: {integrity: sha512-YHW4HP9ovZ/zqc1u3+cDdAY/LITaMQNRnX5foLsDFLV5FU+zqonYo2CqDkVwaQs9UfCp9PM0ehZzxMI8hc58oA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/extensions': ^3.19.0
|
'@tiptap/extensions': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-horizontal-rule@3.19.0':
|
'@tiptap/extension-horizontal-rule@3.19.0':
|
||||||
resolution: {integrity: sha512-iqUHmgMGhMgYGwG6L/4JdelVQ5Mstb4qHcgTGd/4dkcUOepILvhdxajPle7OEdf9sRgjQO6uoAU5BVZVC26+ng==}
|
resolution: {integrity: sha512-iqUHmgMGhMgYGwG6L/4JdelVQ5Mstb4qHcgTGd/4dkcUOepILvhdxajPle7OEdf9sRgjQO6uoAU5BVZVC26+ng==}
|
||||||
@@ -4344,21 +4344,21 @@ packages:
|
|||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.19.0
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/extension-image@3.19.0':
|
'@tiptap/extension-image@3.17.1':
|
||||||
resolution: {integrity: sha512-/rGl8nBziBPVJJ/9639eQWFDKcI3RQsDM3s+cqYQMFQfMqc7sQB9h4o4sHCBpmKxk3Y0FV/0NjnjLbBVm8OKdQ==}
|
resolution: {integrity: sha512-VbSSZ//5qijm8F0lQQ6K+DGnZgjLKYQY2c+O56QNEoN8BaCFrJlsVgF1ttrSRUmoG4XBNIMlAS07kZXvMZQr0g==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-italic@3.19.0':
|
'@tiptap/extension-italic@3.19.0':
|
||||||
resolution: {integrity: sha512-6GffxOnS/tWyCbDkirWNZITiXRta9wrCmrfa4rh+v32wfaOL1RRQNyqo9qN6Wjyl1R42Js+yXTzTTzZsOaLMYA==}
|
resolution: {integrity: sha512-6GffxOnS/tWyCbDkirWNZITiXRta9wrCmrfa4rh+v32wfaOL1RRQNyqo9qN6Wjyl1R42Js+yXTzTTzZsOaLMYA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/extension-link@3.19.0':
|
'@tiptap/extension-link@3.17.1':
|
||||||
resolution: {integrity: sha512-HEGDJnnCPfr7KWu7Dsq+eRRe/mBCsv6DuI+7fhOCLDJjjKzNgrX2abbo/zG3D/4lCVFaVb+qawgJubgqXR/Smw==}
|
resolution: {integrity: sha512-5kdN7vms5hMXtjiophUkgvzy8dNGvGSmol1Sawh30TEPrgXc93Ayj7YyGZlbimInKZcD8q+Od/FFc+wkrof3nA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-list-item@3.19.0':
|
'@tiptap/extension-list-item@3.19.0':
|
||||||
resolution: {integrity: sha512-VsSKuJz4/Tb6ZmFkXqWpDYkRzmaLTyE6dNSEpNmUpmZ32sMqo58mt11/huADNwfBFB0Ve7siH/VnFNIJYY3xvg==}
|
resolution: {integrity: sha512-VsSKuJz4/Tb6ZmFkXqWpDYkRzmaLTyE6dNSEpNmUpmZ32sMqo58mt11/huADNwfBFB0Ve7siH/VnFNIJYY3xvg==}
|
||||||
@@ -4370,11 +4370,11 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/extension-list': ^3.19.0
|
'@tiptap/extension-list': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/extension-list@3.19.0':
|
'@tiptap/extension-list@3.17.1':
|
||||||
resolution: {integrity: sha512-N6nKbFB2VwMsPlCw67RlAtYSK48TAsAUgjnD+vd3ieSlIufdQnLXDFUP6hFKx9mwoUVUgZGz02RA6bkxOdYyTw==}
|
resolution: {integrity: sha512-LHKIxmXe5Me+vJZKhiwMBGHlApaBIAduNMRUpm5mkY7ER/m96zKR0VqrJd4LjVVH2iDvck5h1Ka4396MHWlKNg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-ordered-list@3.19.0':
|
'@tiptap/extension-ordered-list@3.19.0':
|
||||||
resolution: {integrity: sha512-cxGsINquwHYE1kmhAcLNLHAofmoDEG6jbesR5ybl7tU5JwtKVO7S/xZatll2DU1dsDAXWPWEeeMl4e/9svYjCg==}
|
resolution: {integrity: sha512-cxGsINquwHYE1kmhAcLNLHAofmoDEG6jbesR5ybl7tU5JwtKVO7S/xZatll2DU1dsDAXWPWEeeMl4e/9svYjCg==}
|
||||||
@@ -4386,53 +4386,53 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/extension-placeholder@3.19.0':
|
'@tiptap/extension-placeholder@3.17.1':
|
||||||
resolution: {integrity: sha512-i15OfgyI4IDCYAcYSKUMnuZkYuUInfanjf9zquH8J2BETiomf/jZldVCp/QycMJ8DOXZ38fXDc99wOygnSNySg==}
|
resolution: {integrity: sha512-cE8Rij5/1t4KnWE7GaDewhBek9DKNB+97yrxyggMegILg6v195hOmOkRZkyfnFMYZoBDlrfSAtX9wBvbZBqIsg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/extensions': ^3.19.0
|
'@tiptap/extensions': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-strike@3.19.0':
|
'@tiptap/extension-strike@3.19.0':
|
||||||
resolution: {integrity: sha512-xYpabHsv7PccLUBQaP8AYiFCnYbx6P93RHPd0lgNwhdOjYFd931Zy38RyoxPHAgbYVmhf1iyx7lpuLtBnhS5dA==}
|
resolution: {integrity: sha512-xYpabHsv7PccLUBQaP8AYiFCnYbx6P93RHPd0lgNwhdOjYFd931Zy38RyoxPHAgbYVmhf1iyx7lpuLtBnhS5dA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/extension-subscript@3.19.0':
|
'@tiptap/extension-subscript@3.17.1':
|
||||||
resolution: {integrity: sha512-RchUOSIDprlnuzmA/znZIBKMONIlCAXHuR6XkoNX2jFJ/9OHk/si+jEeY8jJfpPDpVqZ3KrwS/zJrqhU/pT+hQ==}
|
resolution: {integrity: sha512-+y/sl1d+TcecX2n1r6ZTjBmY3D6cfqAW86iKsvudCFSpp9SQk85RaumPzELOXWOjz9g0mtfUnXifrLYF3dS+vA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-superscript@3.19.0':
|
'@tiptap/extension-superscript@3.17.1':
|
||||||
resolution: {integrity: sha512-PjLUGjM23/7hqFP5HS1DbdywRm63GhjJ5SD6KqNgyZQwcwDZeJTAW2b/LYTHAP+k07OxOLPdj/k4ntQKtgKNow==}
|
resolution: {integrity: sha512-FKt+lI1ocFRW0EFla9EuO71aLQINpkC/wt9zxWnJJnfPIWfxYlsTSFJLjLkVungTmwfeCnoCVcXnZ0dSKDnoGg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-table@3.19.0':
|
'@tiptap/extension-table@3.17.1':
|
||||||
resolution: {integrity: sha512-Lg8DlkkDUMYE/CcGOxoCWF98B2i7VWh+AGgqlF+XWrHjhlKHfENLRXm1a0vWuyyP3NknRYILoaaZ1s7QzmXKRA==}
|
resolution: {integrity: sha512-FuAMdmM330tHJUYT5IV2ooFRqtXf+0D8llcE9nIQQCXKL4J0pfGSOIm40LVpunYgx2pV8SSCL51qTBuEmR84tQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-text-align@3.19.0':
|
'@tiptap/extension-text-align@3.17.1':
|
||||||
resolution: {integrity: sha512-cY8bHWYojLTHXZb2j2srdh7ltmDgnwXYvSxbPL4HK4j7XxQOGnOsTakgM/BNhxymOfEj2414i5Otyy8hlgviFA==}
|
resolution: {integrity: sha512-CyJbZf823dqPZ/1zwRsza5pk/NQwFZwILdFYLVkV88I4+Ua9YVztI9kmwTB6dJyuKT4kTc7nhQHdaa957alGZQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-text-style@3.19.0':
|
'@tiptap/extension-text-style@3.17.1':
|
||||||
resolution: {integrity: sha512-R55V6iUfRq03SGt/R2KvaeN+XGFiKJHx1jFJhZzvnWhMV7YqjHSG2r4BLvpTq1HBqteMbEjI+EOnb4t9AKd6aQ==}
|
resolution: {integrity: sha512-TCMsEU92r/TfZkN8AKo/WIcJ1uNq/5NiZxloq5drF1HXxDDjwliurgwBw3OTGUlKQmer0N9hV0AAePY/G+5Akw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-text@3.19.0':
|
'@tiptap/extension-text@3.17.1':
|
||||||
resolution: {integrity: sha512-K95+SnbZy0h6hNFtfy23n8t/nOcTFEf69In9TSFVVmwn/Nwlke+IfiESAkqbt1/7sKJeegRXYO7WzFEmFl9Q/g==}
|
resolution: {integrity: sha512-rGml96vokQbvPB+w6L3+WKyYJWwqELaLdFUr1WMgg+py5uNYGJYAExYNAbDb5biWJBrX9GgMlCaNeiJj849L1w==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-typography@3.19.0':
|
'@tiptap/extension-typography@3.17.1':
|
||||||
resolution: {integrity: sha512-2Rwwz1ErNhqUcXPzPX2u4frdyrK4Yj6ZMvCLPxLt5lQXj9Eq9YEoD9isw8abR105ko3BCidvfElQYSFu6dWPSw==}
|
resolution: {integrity: sha512-bEocTrK/gryk3VtthC9Ca03p2kutVIIFnDkVW6iOG8PgQWEspuQRgqE8yPnHxY8pBBDWxiaBzcGTSrp+3U9d5A==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-underline@3.19.0':
|
'@tiptap/extension-underline@3.19.0':
|
||||||
resolution: {integrity: sha512-800MGEWfG49j10wQzAFiW/ele1HT04MamcL8iyuPNu7ZbjbGN2yknvdrJlRy7hZlzIrVkZMr/1tz62KN33VHIw==}
|
resolution: {integrity: sha512-800MGEWfG49j10wQzAFiW/ele1HT04MamcL8iyuPNu7ZbjbGN2yknvdrJlRy7hZlzIrVkZMr/1tz62KN33VHIw==}
|
||||||
@@ -4445,10 +4445,10 @@ packages:
|
|||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.19.0
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/extension-youtube@3.19.0':
|
'@tiptap/extension-youtube@3.17.1':
|
||||||
resolution: {integrity: sha512-/3Z/jw9VbD3WrS1cOcxKUN0oMVnX9NVSekVG4uJHZYs5LhG2tbmUkBYNzj4oJcZcuJ4WPTD1EaAVEgNVffaoJg==}
|
resolution: {integrity: sha512-AarpN4vI/S6jPMuLuFGEFLgdoasGiUW+rGLj+jH/0Of6l27nKRN00MTm/fD/62qjR6At3Rd7Xsue/GuXdmDUWw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/extensions@3.19.0':
|
'@tiptap/extensions@3.19.0':
|
||||||
resolution: {integrity: sha512-ZmGUhLbMWaGqnJh2Bry+6V4M6gMpUDYo4D1xNux5Gng/E/eYtc+PMxMZ/6F7tNTAuujLBOQKj6D+4SsSm457jw==}
|
resolution: {integrity: sha512-ZmGUhLbMWaGqnJh2Bry+6V4M6gMpUDYo4D1xNux5Gng/E/eYtc+PMxMZ/6F7tNTAuujLBOQKj6D+4SsSm457jw==}
|
||||||
@@ -4456,34 +4456,34 @@ packages:
|
|||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.19.0
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.19.0
|
||||||
|
|
||||||
'@tiptap/html@3.19.0':
|
'@tiptap/html@3.17.1':
|
||||||
resolution: {integrity: sha512-ceBKCurbi9Rir1QZOGt+l17w6VGSEnQu9LKWnSwK6A6x8x7wvP8zYvM6HiuSuP8CRLT284fNBc8qrbWDuBnHbg==}
|
resolution: {integrity: sha512-fLb2fo8+3oQ+5FTx5IGZvLI5+VLgN9BM6pHaO1+IrwqQ5w2RBFIGp8M946asBPkxJ74EtzHqFKJpVFtaY2CcpA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
happy-dom: ^20.0.2
|
happy-dom: ^20.0.2
|
||||||
|
|
||||||
'@tiptap/pm@3.19.0':
|
'@tiptap/pm@3.17.1':
|
||||||
resolution: {integrity: sha512-789zcnM4a8OWzvbD2DL31d0wbSm9BVeO/R7PLQwLIGysDI3qzrcclyZ8yhqOEVuvPitRRwYLq+mY14jz7kY4cw==}
|
resolution: {integrity: sha512-UyVLkN8axV/zop6Se2DCBJRu5DM21X0XEQvwEC5P/vk8eC9OcQZ3FLtxeYy2ZjpAZUzBGLw0/BGsmEip/n7olw==}
|
||||||
|
|
||||||
'@tiptap/react@3.19.0':
|
'@tiptap/react@3.17.1':
|
||||||
resolution: {integrity: sha512-GQQMUUXMpNd8tRjc1jDK3tDRXFugJO7C928EqmeBcBzTKDrFIJ3QUoZKEPxUNb6HWhZ2WL7q00fiMzsv4DNSmg==}
|
resolution: {integrity: sha512-Hn/pIP3HG9xYnhI3iGrfVhgQhfIdOaEBSxOFzJ37patqSOlIoP5aZH/b2HZ4vgo5DdRlV56q7WtRC+vLIw4Neg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
|
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||||
'@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.0
|
'@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||||
react: ^17.0.0 || ^18.0.0 || ^19.0.0
|
react: ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||||
react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
|
react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||||
|
|
||||||
'@tiptap/starter-kit@3.19.0':
|
'@tiptap/starter-kit@3.17.1':
|
||||||
resolution: {integrity: sha512-dTCkHEz+Y8ADxX7h+xvl6caAj+3nII/wMB1rTQchSuNKqJTOrzyUsCWm094+IoZmLT738wANE0fRIgziNHs/ug==}
|
resolution: {integrity: sha512-3vBGqag9mwuQoWTrfQlULtHeoFs7k/2Q8CREf3Y79hv2fqAXTvTOKlWYPSgZhiGVMp6Dti7BDiE9Y1QpvAat2g==}
|
||||||
|
|
||||||
'@tiptap/suggestion@3.19.0':
|
'@tiptap/suggestion@3.17.1':
|
||||||
resolution: {integrity: sha512-tUZwMRFqTVPIo566ZmHNRteyZxJy2EE4FA+S3IeIUOOvY6AW0h1imhbpBO7sXV8CeEQvpa+2DWwLvy7L3vmstA==}
|
resolution: {integrity: sha512-a188uVYjlLsUiwK3Ki7KsaWVWC0u28KsqGEAqCk9ECYmtVY99Hrb+rcAwGpMjA7tn8WAwThOxiLISoMdpuqXwg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@tiptap/core': ^3.19.0
|
'@tiptap/core': ^3.17.1
|
||||||
'@tiptap/pm': ^3.19.0
|
'@tiptap/pm': ^3.17.1
|
||||||
|
|
||||||
'@tiptap/y-tiptap@3.0.1':
|
'@tiptap/y-tiptap@3.0.1':
|
||||||
resolution: {integrity: sha512-F3hj5X77ckmyIywbCQpKgyX3xKra2/acJPWaV5R9wqp0cUPBmm62FYbkQ6HaqxH1VhCkUhhAZcDSQjbjj7tnWw==}
|
resolution: {integrity: sha512-F3hj5X77ckmyIywbCQpKgyX3xKra2/acJPWaV5R9wqp0cUPBmm62FYbkQ6HaqxH1VhCkUhhAZcDSQjbjj7tnWw==}
|
||||||
@@ -12657,13 +12657,13 @@ snapshots:
|
|||||||
|
|
||||||
'@floating-ui/utils@0.2.10': {}
|
'@floating-ui/utils@0.2.10': {}
|
||||||
|
|
||||||
'@hocuspocus/common@3.4.3':
|
'@hocuspocus/common@3.4.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
lib0: 0.2.117
|
lib0: 0.2.117
|
||||||
|
|
||||||
'@hocuspocus/provider@3.4.3(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)':
|
'@hocuspocus/provider@3.4.4(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@hocuspocus/common': 3.4.3
|
'@hocuspocus/common': 3.4.4
|
||||||
'@lifeomic/attempt': 3.0.3
|
'@lifeomic/attempt': 3.0.3
|
||||||
lib0: 0.2.117
|
lib0: 0.2.117
|
||||||
ws: 8.19.0
|
ws: 8.19.0
|
||||||
@@ -12673,9 +12673,9 @@ snapshots:
|
|||||||
- bufferutil
|
- bufferutil
|
||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
|
|
||||||
'@hocuspocus/server@3.4.3(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)':
|
'@hocuspocus/server@3.4.4(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@hocuspocus/common': 3.4.3
|
'@hocuspocus/common': 3.4.4
|
||||||
async-lock: 1.4.1
|
async-lock: 1.4.1
|
||||||
async-mutex: 0.5.0
|
async-mutex: 0.5.0
|
||||||
kleur: 4.1.5
|
kleur: 4.1.5
|
||||||
@@ -12687,11 +12687,11 @@ snapshots:
|
|||||||
- bufferutil
|
- bufferutil
|
||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
|
|
||||||
'@hocuspocus/transformer@3.4.3(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(y-prosemirror@1.3.7(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))(yjs@13.6.29)':
|
'@hocuspocus/transformer@3.4.4(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(y-prosemirror@1.3.7(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))(yjs@13.6.29)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
'@tiptap/starter-kit': 3.19.0
|
'@tiptap/starter-kit': 3.17.1
|
||||||
y-prosemirror: 1.3.7(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
y-prosemirror: 1.3.7(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
||||||
yjs: 13.6.29
|
yjs: 13.6.29
|
||||||
|
|
||||||
@@ -14598,195 +14598,195 @@ snapshots:
|
|||||||
'@tanstack/query-core': 5.90.17
|
'@tanstack/query-core': 5.90.17
|
||||||
react: 18.3.1
|
react: 18.3.1
|
||||||
|
|
||||||
'@tiptap/core@3.19.0(@tiptap/pm@3.19.0)':
|
'@tiptap/core@3.17.1(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-blockquote@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-blockquote@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-bold@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-bold@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-bubble-menu@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-bubble-menu@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/dom': 1.7.4
|
'@floating-ui/dom': 1.7.4
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tiptap/extension-bullet-list@3.19.0(@tiptap/extension-list@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-bullet-list@3.19.0(@tiptap/extension-list@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/extension-list': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-list': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-code-block@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-code-block@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-code@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-code@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-collaboration-caret@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))':
|
'@tiptap/extension-collaboration-caret@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
'@tiptap/y-tiptap': 3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
'@tiptap/y-tiptap': 3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
||||||
|
|
||||||
'@tiptap/extension-collaboration@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))(yjs@13.6.29)':
|
'@tiptap/extension-collaboration@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29))(yjs@13.6.29)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
'@tiptap/y-tiptap': 3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
'@tiptap/y-tiptap': 3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)
|
||||||
yjs: 13.6.29
|
yjs: 13.6.29
|
||||||
|
|
||||||
'@tiptap/extension-color@3.19.0(@tiptap/extension-text-style@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0)))':
|
'@tiptap/extension-color@3.17.1(@tiptap/extension-text-style@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/extension-text-style': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-text-style': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
|
|
||||||
'@tiptap/extension-document@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-document@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-dropcursor@3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-dropcursor@3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/extensions': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extensions': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-floating-menu@3.19.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-floating-menu@3.19.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/dom': 1.7.3
|
'@floating-ui/dom': 1.7.3
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@tiptap/extension-gapcursor@3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-gapcursor@3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/extensions': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extensions': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-hard-break@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-hard-break@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-heading@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-heading@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-highlight@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-highlight@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-history@3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-history@3.17.1(@tiptap/extensions@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/extensions': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extensions': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-horizontal-rule@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-horizontal-rule@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-image@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-image@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-italic@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-italic@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-link@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-link@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
linkifyjs: 4.3.2
|
linkifyjs: 4.3.2
|
||||||
|
|
||||||
'@tiptap/extension-list-item@3.19.0(@tiptap/extension-list@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-list-item@3.19.0(@tiptap/extension-list@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/extension-list': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-list': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-list-keymap@3.19.0(@tiptap/extension-list@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-list-keymap@3.19.0(@tiptap/extension-list@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/extension-list': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-list': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-list@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-list@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-ordered-list@3.19.0(@tiptap/extension-list@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-ordered-list@3.19.0(@tiptap/extension-list@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/extension-list': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-list': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-paragraph@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-paragraph@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-placeholder@3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-placeholder@3.17.1(@tiptap/extensions@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/extensions': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extensions': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-strike@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-strike@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-subscript@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-subscript@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-superscript@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-superscript@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-table@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-table@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/extension-text-align@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-text-align@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-text-style@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-text-style@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-text@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-text@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-typography@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-typography@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-underline@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-underline@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extension-unique-id@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extension-unique-id@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
uuid: 10.0.0
|
uuid: 10.0.0
|
||||||
|
|
||||||
'@tiptap/extension-youtube@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))':
|
'@tiptap/extension-youtube@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
|
|
||||||
'@tiptap/extensions@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/extensions@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/html@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(happy-dom@20.1.0)':
|
'@tiptap/html@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(happy-dom@20.1.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
happy-dom: 20.1.0
|
happy-dom: 20.1.0
|
||||||
|
|
||||||
'@tiptap/pm@3.19.0':
|
'@tiptap/pm@3.17.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
prosemirror-changeset: 2.3.1
|
prosemirror-changeset: 2.3.1
|
||||||
prosemirror-collab: 1.3.1
|
prosemirror-collab: 1.3.1
|
||||||
@@ -14807,10 +14807,10 @@ snapshots:
|
|||||||
prosemirror-transform: 1.10.4
|
prosemirror-transform: 1.10.4
|
||||||
prosemirror-view: 1.40.0
|
prosemirror-view: 1.40.0
|
||||||
|
|
||||||
'@tiptap/react@3.19.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
'@tiptap/react@3.17.1(@floating-ui/dom@1.7.3)(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
'@types/react': 18.3.12
|
'@types/react': 18.3.12
|
||||||
'@types/react-dom': 18.3.1
|
'@types/react-dom': 18.3.1
|
||||||
'@types/use-sync-external-store': 0.0.6
|
'@types/use-sync-external-store': 0.0.6
|
||||||
@@ -14819,42 +14819,42 @@ snapshots:
|
|||||||
react-dom: 18.3.1(react@18.3.1)
|
react-dom: 18.3.1(react@18.3.1)
|
||||||
use-sync-external-store: 1.6.0(react@18.3.1)
|
use-sync-external-store: 1.6.0(react@18.3.1)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@tiptap/extension-bubble-menu': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-bubble-menu': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-floating-menu': 3.19.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-floating-menu': 3.19.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@floating-ui/dom'
|
- '@floating-ui/dom'
|
||||||
|
|
||||||
'@tiptap/starter-kit@3.19.0':
|
'@tiptap/starter-kit@3.17.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-blockquote': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-blockquote': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-bold': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-bold': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-bullet-list': 3.19.0(@tiptap/extension-list@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))
|
'@tiptap/extension-bullet-list': 3.19.0(@tiptap/extension-list@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-code': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-code': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-code-block': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-code-block': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-document': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-document': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-dropcursor': 3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))
|
'@tiptap/extension-dropcursor': 3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-gapcursor': 3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))
|
'@tiptap/extension-gapcursor': 3.19.0(@tiptap/extensions@3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-hard-break': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-hard-break': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-heading': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-heading': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-horizontal-rule': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-horizontal-rule': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-italic': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-italic': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-link': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-link': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-list': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extension-list': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/extension-list-item': 3.19.0(@tiptap/extension-list@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))
|
'@tiptap/extension-list-item': 3.19.0(@tiptap/extension-list@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-list-keymap': 3.19.0(@tiptap/extension-list@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))
|
'@tiptap/extension-list-keymap': 3.19.0(@tiptap/extension-list@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-ordered-list': 3.19.0(@tiptap/extension-list@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0))
|
'@tiptap/extension-ordered-list': 3.19.0(@tiptap/extension-list@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-paragraph': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-paragraph': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-strike': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-strike': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-text': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-text': 3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extension-underline': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))
|
'@tiptap/extension-underline': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))
|
||||||
'@tiptap/extensions': 3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)
|
'@tiptap/extensions': 3.19.0(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/suggestion@3.19.0(@tiptap/core@3.19.0(@tiptap/pm@3.19.0))(@tiptap/pm@3.19.0)':
|
'@tiptap/suggestion@3.17.1(@tiptap/core@3.17.1(@tiptap/pm@3.17.1))(@tiptap/pm@3.17.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tiptap/core': 3.19.0(@tiptap/pm@3.19.0)
|
'@tiptap/core': 3.17.1(@tiptap/pm@3.17.1)
|
||||||
'@tiptap/pm': 3.19.0
|
'@tiptap/pm': 3.17.1
|
||||||
|
|
||||||
'@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)':
|
'@tiptap/y-tiptap@3.0.1(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)(y-protocols@1.0.6(yjs@13.6.29))(yjs@13.6.29)':
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
Reference in New Issue
Block a user