From e2d7e04abbb3fe678162f3b5b0fd7998dfaed947 Mon Sep 17 00:00:00 2001
From: Addison-Stavlo <stavz01@gmail.com>
Date: Tue, 8 Sep 2020 17:36:34 -0400
Subject: [PATCH] disable button when open

---
 .../block-library/src/template-part/edit/index.js     | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/packages/block-library/src/template-part/edit/index.js b/packages/block-library/src/template-part/edit/index.js
index e3401ceb9ffc7..c6936a83c5e56 100644
--- a/packages/block-library/src/template-part/edit/index.js
+++ b/packages/block-library/src/template-part/edit/index.js
@@ -7,7 +7,7 @@ import {
 	BlockControls,
 	__experimentalBlock as Block,
 } from '@wordpress/block-editor';
-import { Dropdown, Button } from '@wordpress/components';
+import { Dropdown, ToolbarButton } from '@wordpress/components';
 import { __ } from '@wordpress/i18n';
 import { chevronUp, chevronDown } from '@wordpress/icons';
 
@@ -81,11 +81,14 @@ export default function TemplatePartEdit( {
 							contentClassName="wp-block-template-part__preview-dropdown-content"
 							position="bottom right left"
 							renderToggle={ ( { isOpen, onToggle } ) => (
-								<Button
-									label={ __( 'Choose another' ) }
-									onClick={ onToggle }
+								<ToolbarButton
 									aria-expanded={ isOpen }
 									icon={ isOpen ? chevronUp : chevronDown }
+									label={ __( 'Choose another' ) }
+									onClick={ onToggle }
+									// Disable when open to prevent odd FireFox bug causing reopening.
+									// As noted in https://github.com/WordPress/gutenberg/pull/24990#issuecomment-689094119 .
+									disabled={ isOpen }
 								/>
 							) }
 							renderContent={ ( { onClose } ) => (