diff --git a/packages/block-library/src/navigation-link/edit.js b/packages/block-library/src/navigation-link/edit.js
index 39073b848d3ca8..5966739aa61a61 100644
--- a/packages/block-library/src/navigation-link/edit.js
+++ b/packages/block-library/src/navigation-link/edit.js
@@ -9,7 +9,8 @@ import clsx from 'clsx';
import { createBlock } from '@wordpress/blocks';
import { useSelect, useDispatch } from '@wordpress/data';
import {
- PanelBody,
+ __experimentalToolsPanel as ToolsPanel,
+ __experimentalToolsPanelItem as ToolsPanelItem,
TextControl,
TextareaControl,
ToolbarButton,
@@ -161,71 +162,110 @@ function getMissingText( type ) {
function Controls( { attributes, setAttributes, setIsLabelFieldFocused } ) {
const { label, url, description, title, rel } = attributes;
return (
-
- {
- setAttributes( { label: labelValue } );
- } }
+
+ !! label }
label={ __( 'Text' ) }
- autoComplete="off"
- onFocus={ () => setIsLabelFieldFocused( true ) }
- onBlur={ () => setIsLabelFieldFocused( false ) }
- />
- {
- updateAttributes(
- { url: urlValue },
- setAttributes,
- attributes
- );
- } }
+ onDeselect={ () => setAttributes( { label: '' } ) }
+ isShownByDefault
+ >
+ {
+ setAttributes( { label: labelValue } );
+ } }
+ autoComplete="off"
+ onFocus={ () => setIsLabelFieldFocused( true ) }
+ onBlur={ () => setIsLabelFieldFocused( false ) }
+ />
+
+
+ !! url }
label={ __( 'Link' ) }
- autoComplete="off"
- />
- {
- setAttributes( { description: descriptionValue } );
- } }
+ onDeselect={ () => setAttributes( { url: '' } ) }
+ isShownByDefault
+ >
+ {
+ updateAttributes(
+ { url: urlValue },
+ setAttributes,
+ attributes
+ );
+ } }
+ autoComplete="off"
+ />
+
+
+ !! description }
label={ __( 'Description' ) }
- help={ __(
- 'The description will be displayed in the menu if the current theme supports it.'
- ) }
- />
- {
- setAttributes( { title: titleValue } );
- } }
+ onDeselect={ () => setAttributes( { description: '' } ) }
+ isShownByDefault
+ >
+ {
+ setAttributes( { description: descriptionValue } );
+ } }
+ help={ __(
+ 'The description will be displayed in the menu if the current theme supports it.'
+ ) }
+ />
+
+
+ !! title }
label={ __( 'Title attribute' ) }
- autoComplete="off"
- help={ __(
- 'Additional information to help clarify the purpose of the link.'
- ) }
- />
- {
- setAttributes( { rel: relValue } );
- } }
+ onDeselect={ () => setAttributes( { title: '' } ) }
+ isShownByDefault
+ >
+ {
+ setAttributes( { title: titleValue } );
+ } }
+ autoComplete="off"
+ help={ __(
+ 'Additional information to help clarify the purpose of the link.'
+ ) }
+ />
+
+
+ !! rel }
label={ __( 'Rel attribute' ) }
- autoComplete="off"
- help={ __(
- 'The relationship of the linked URL as space-separated link types.'
- ) }
- />
-
+ onDeselect={ () => setAttributes( { rel: '' } ) }
+ isShownByDefault
+ >
+ {
+ setAttributes( { rel: relValue } );
+ } }
+ autoComplete="off"
+ help={ __(
+ 'The relationship of the linked URL as space-separated link types.'
+ ) }
+ />
+
+
);
}