diff --git a/packages/block-editor/src/components/block-settings-menu/block-settings-dropdown.js b/packages/block-editor/src/components/block-settings-menu/block-settings-dropdown.js
index e17301a31a52f..8bf1b3082b159 100644
--- a/packages/block-editor/src/components/block-settings-menu/block-settings-dropdown.js
+++ b/packages/block-editor/src/components/block-settings-menu/block-settings-dropdown.js
@@ -7,18 +7,14 @@ import { castArray, flow, noop } from 'lodash';
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
-import {
- DropdownMenu,
- MenuGroup,
- MenuItem,
- ClipboardButton,
-} from '@wordpress/components';
+import { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';
import { useSelect } from '@wordpress/data';
import { moreVertical } from '@wordpress/icons';
import { Children, cloneElement, useCallback } from '@wordpress/element';
import { serialize } from '@wordpress/blocks';
import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
+import { useCopyToClipboard } from '@wordpress/compose';
/**
* Internal dependencies
@@ -35,6 +31,11 @@ const POPOVER_PROPS = {
isAlternate: true,
};
+function CopyMenuItem( { blocks, onCopy } ) {
+ const ref = useCopyToClipboard( () => serialize( blocks ), onCopy );
+ return ;
+}
+
export function BlockSettingsDropdown( {
clientIds,
__experimentalSelectBlock,
@@ -112,14 +113,10 @@ export function BlockSettingsDropdown( {
clientId={ firstBlockClientId }
/>
) }
- serialize( blocks ) }
- role="menuitem"
- className="components-menu-item__button"
+
- { __( 'Copy' ) }
-
+ />
{ canDuplicate && (