diff --git a/.changeset/swift-onions-prove.md b/.changeset/swift-onions-prove.md new file mode 100644 index 0000000000..ee381e7f4f --- /dev/null +++ b/.changeset/swift-onions-prove.md @@ -0,0 +1,5 @@ +--- +"@udecode/plate-code-block": minor +--- + +feat: `useToggleCodeBlockButton` diff --git a/packages/code-block/src/hooks/index.ts b/packages/code-block/src/hooks/index.ts index d404baca04..c0ca34cad1 100644 --- a/packages/code-block/src/hooks/index.ts +++ b/packages/code-block/src/hooks/index.ts @@ -5,3 +5,4 @@ export * from './useCodeBlockCombobox'; export * from './useCodeBlockElement'; export * from './useCodeSyntaxLeaf'; +export * from './useToggleCodeBlockButton'; diff --git a/packages/code-block/src/hooks/useToggleCodeBlockButton.ts b/packages/code-block/src/hooks/useToggleCodeBlockButton.ts new file mode 100644 index 0000000000..ac05be6111 --- /dev/null +++ b/packages/code-block/src/hooks/useToggleCodeBlockButton.ts @@ -0,0 +1,18 @@ +import React from 'react'; +import { useEditorRef } from '@udecode/plate-common'; +import { toggleCodeBlock } from '../transforms'; + +export const useToggleCodeBlockButton = () => { + const editor = useEditorRef(); + + return { + props: { + onMouseDown: (e: React.MouseEvent) => { + e.preventDefault(); + }, + onClick: () => { + toggleCodeBlock(editor); + }, + }, + }; +};