diff --git a/packages/block-library/src/button/edit.js b/packages/block-library/src/button/edit.js index b6280d0a81f56d..d6550f258cb14a 100644 --- a/packages/block-library/src/button/edit.js +++ b/packages/block-library/src/button/edit.js @@ -26,7 +26,7 @@ import { __experimentalLinkControl as LinkControl, } from '@wordpress/block-editor'; import { rawShortcut, displayShortcut } from '@wordpress/keycodes'; -import { link } from '@wordpress/icons'; +import { link, linkOff } from '@wordpress/icons'; import { createBlock } from '@wordpress/blocks'; /** @@ -70,13 +70,15 @@ function URLPicker( { onToggleOpenInNewTab, } ) { const [ isURLPickerOpen, setIsURLPickerOpen ] = useState( false ); + const urlIsSet = !! url; + const urlIsSetandSelected = urlIsSet && isSelected; const openLinkControl = () => { setIsURLPickerOpen( true ); // prevents default behaviour for event return false; }; - const linkControl = isURLPickerOpen && ( + const linkControl = ( isURLPickerOpen || urlIsSetandSelected ) && ( setIsURLPickerOpen( false ) } @@ -101,13 +103,31 @@ function URLPicker( { <> - + { ! urlIsSet && ( + + ) } + { urlIsSetandSelected && ( + + setAttributes( { + url: undefined, + linkTarget: undefined, + rel: undefined, + } ) + } + isActive={ true } + /> + ) } { isSelected && (