import { BlockNoteEditor, BlockSchema, ToggledStyle } from "bocknoat-core"; import { IconType } from "react-icons"; import { RiBold, RiCodeFill, RiItalic, RiStrikethrough, RiUnderline, } from "react-icons/ri"; import { ToolbarButton } from "../../../SharedComponents/Toolbar/components/ToolbarButton"; import { formatKeyboardShortcut } from "../../../utils"; const shortcuts: Record = { bold: "Mod+B", italic: "Mod+I", underline: "Mod+U", strike: "Mod+Shift+X", code: "", }; const icons: Record = { bold: RiBold, italic: RiItalic, underline: RiUnderline, strike: RiStrikethrough, code: RiCodeFill, }; export const ToggledStyleButton = (props: { editor: BlockNoteEditor; toggledStyle: ToggledStyle; }) => { const toggleStyle = (style: ToggledStyle) => { props.editor.focus(); props.editor.toggleStyles({ [style]: true }); }; return ( toggleStyle(props.toggledStyle)} isSelected={props.toggledStyle in props.editor.getActiveStyles()} mainTooltip={ props.toggledStyle.slice(0, 1).toUpperCase() + props.toggledStyle.slice(1) } secondaryTooltip={formatKeyboardShortcut(shortcuts[props.toggledStyle])} icon={icons[props.toggledStyle]} /> ); };