shadimage
Shadcn Tiptap
blocktoolbar-providersource: ok · refreshed

Toolbar Provider

npx shadcn add "https://tiptap.niazmorshed.dev/r/toolbar-provider.json"
free

No selection tags yet — empty means no evidence, not lack of support.

Dependencies

Bundle weight · medium
rich-text@tiptap/react

Files1

toolbars/toolbar-provider.tsx
"use client";

import type { Editor } from "@tiptap/react";
import React from "react";

export interface ToolbarContextProps {
	editor: Editor;
}

export const ToolbarContext = React.createContext<ToolbarContextProps | null>(
	null,
);

interface ToolbarProviderProps {
	editor: Editor;
	children: React.ReactNode;
}

export const ToolbarProvider = ({ editor, children }: ToolbarProviderProps) => {
	return (
		<ToolbarContext.Provider value={{ editor }}>
			{children}
		</ToolbarContext.Provider>
	);
};

export const useToolbar = () => {
	const context = React.useContext(ToolbarContext);

	if (!context) {
		throw new Error("useToolbar must be used within a ToolbarProvider");
	}

	return context;
};

More from Shadcn Tiptap

Browse all components in this library →