File "LinkBlockToolbar.jsx"
Full Path: /home/rattkxnv/byattorney.com/wp-content/plugins/generateblocks/src/components/link-block-toolbar/LinkBlockToolbar.jsx
File size: 1.15 KB
MIME-type: text/x-java
Charset: utf-8
import { __ } from '@wordpress/i18n';
import { ToolbarButton, Dropdown } from '@wordpress/components';
import { BlockControls } from '@wordpress/block-editor';
import { link } from '@wordpress/icons';
import { URLControls } from '../../components/url-controls';
export function LinkBlockToolbar( { tagName, setAttributes, htmlAttributes, context } ) {
const POPOVER_PROPS = {
position: 'bottom right',
};
if ( 'a' !== tagName ) {
return null;
}
const url = htmlAttributes?.href ?? '';
return (
<BlockControls group="inline">
<Dropdown
contentClassName="gblocks-button-link-dropdown"
popoverProps={ POPOVER_PROPS }
renderToggle={ ( { isOpen, onToggle } ) => (
<ToolbarButton
icon={ link }
label={ ! url ? __( 'Add Link', 'generateblocks' ) : __( 'Change Link', 'generateblocks' ) }
onClick={ onToggle }
aria-expanded={ isOpen }
isPressed={ !! url }
/>
) }
renderContent={ () => (
<>
<URLControls
htmlAttributes={ htmlAttributes }
setAttributes={ setAttributes }
context={ context }
tagName={ tagName }
/>
</>
) }
/>
</BlockControls>
);
}