From 876722786cfaa4c248dec3764514224be3241c6f Mon Sep 17 00:00:00 2001 From: Steven DeMartini Date: Mon, 17 Jul 2023 10:09:45 -0700 Subject: [PATCH] Allow user to override TableMenuControls labels --- src/TableBubbleMenu.tsx | 14 ++++++++-- src/controls/TableMenuControls.tsx | 43 +++++++++++++++++++++--------- 2 files changed, 43 insertions(+), 14 deletions(-) diff --git a/src/TableBubbleMenu.tsx b/src/TableBubbleMenu.tsx index 18b06a6..562d049 100644 --- a/src/TableBubbleMenu.tsx +++ b/src/TableBubbleMenu.tsx @@ -6,7 +6,9 @@ import ControlledBubbleMenu, { type ControlledBubbleMenuProps, } from "./ControlledBubbleMenu"; import { useRichTextEditorContext } from "./context"; -import TableMenuControls from "./controls/TableMenuControls"; +import TableMenuControls, { + type TableMenuControlsProps, +} from "./controls/TableMenuControls"; import { useDebouncedFocus } from "./hooks"; import DebounceRender, { type DebounceRenderProps, @@ -26,6 +28,11 @@ export type TableBubbleMenuProps = { * interval, if `disableDebounce` is not true. */ DebounceProps?: Except; + /** + * Override the default labels for any of the menu buttons. If any is omitted, + * it falls back to the default mui-tiptap label for that label. + */ + labels?: TableMenuControlsProps["labels"]; } & Partial>; const useStyles = makeStyles({ @@ -57,6 +64,7 @@ const useStyles = makeStyles({ export default function TableBubbleMenu({ disableDebounce = false, DebounceProps, + labels, ...controlledBubbleMenuProps }: TableBubbleMenuProps) { const editor = useRichTextEditorContext(); @@ -131,7 +139,9 @@ export default function TableBubbleMenu({ return null; } - const controls = ; + const controls = ( + + ); return ( editor?.chain().focus().addColumnBefore().run()} disabled={!editor?.can().addColumnBefore()} /> editor?.chain().focus().addColumnAfter().run()} disabled={!editor?.can().addColumnAfter()} /> editor?.chain().focus().deleteColumn().run()} disabled={!editor?.can().deleteColumn()} @@ -55,21 +74,21 @@ export default function TableMenuControls({ editor?.chain().focus().addRowBefore().run()} disabled={!editor?.can().addRowBefore()} /> editor?.chain().focus().addRowAfter().run()} disabled={!editor?.can().addRowAfter()} /> editor?.chain().focus().deleteRow().run()} disabled={!editor?.can().deleteRow()} @@ -78,14 +97,14 @@ export default function TableMenuControls({ editor?.chain().focus().mergeCells().run()} disabled={!editor?.can().mergeCells()} /> editor?.chain().focus().splitCell().run()} disabled={!editor?.can().splitCell()} @@ -94,21 +113,21 @@ export default function TableMenuControls({ editor?.chain().focus().toggleHeaderRow().run()} disabled={!editor?.can().toggleHeaderRow()} /> editor?.chain().focus().toggleHeaderColumn().run()} disabled={!editor?.can().toggleHeaderColumn()} /> editor?.chain().focus().toggleHeaderCell().run()} disabled={!editor?.can().toggleHeaderCell()} @@ -118,7 +137,7 @@ export default function TableMenuControls({ editor?.chain().focus().deleteTable().run()} disabled={!editor?.can().deleteTable()}