Description
`import {
useBlockNoteEditor,
useComponentsContext,
useEditorContentOrSelectionChange,
createReactStyleSpec
} from "@blocknote/react";
import "@blocknote/mantine/style.css";
import { useState } from "react";
export const enableDownload = createReactStyleSpec(
{
type: "enableDownload",
propSchema: "string",
},
{
render: (props) => {
console.log(props)
return (
)
},
}
);
export function EnableDownload() {
const editor = useBlockNoteEditor();
const Components = useComponentsContext();
const [isSelected, setIsSelected] = useState(
editor.getActiveStyles().enableDownload === "open"
);
useEditorContentOrSelectionChange(() => {
setIsSelected(
editor.getActiveStyles().enableDownload === "open"
);
}, editor);
return (
<Components.FormattingToolbar.Button
mainTooltip={"enableDownload"}
onClick={() => {
editor.toggleStyles({
enableDownload: 'open',
})
}}
isSelected={isSelected}>
enableDownload
</Components.FormattingToolbar.Button>
);
}`