mirror of
https://github.com/logto-io/logto.git
synced 2025-02-24 22:05:56 -05:00
fix(console): remove hover state from tip button after tip is closed (#5197)
This commit is contained in:
parent
094ff37e7a
commit
9901f58df3
2 changed files with 15 additions and 6 deletions
|
@ -70,6 +70,10 @@ function CopyToClipboard(
|
|||
}, []);
|
||||
|
||||
const copy: MouseEventHandler<HTMLButtonElement> = async () => {
|
||||
/**
|
||||
* Note: should blur the copy icon button before the tooltip is shown, or it will remain focused after the tooltip is closed.
|
||||
*/
|
||||
copyIconReference.current?.blur();
|
||||
setCopyState('copying');
|
||||
await navigator.clipboard.writeText(value);
|
||||
setCopyState('copied');
|
||||
|
|
|
@ -41,6 +41,15 @@ function ToggleTip({
|
|||
|
||||
const [isOpen, setIsOpen] = useState(false);
|
||||
|
||||
const openTip = useCallback(() => {
|
||||
setIsOpen(true);
|
||||
/**
|
||||
* Note: should focus on the anchor wrapper element after the tip bubble is opened,
|
||||
* or the hover state will not be removed from its child element, and this will cause the child element to have a hover state after the tip bubble is closed.
|
||||
*/
|
||||
anchorRef.current?.focus();
|
||||
}, []);
|
||||
|
||||
const onClose = useCallback(() => {
|
||||
setIsOpen(false);
|
||||
}, [setIsOpen]);
|
||||
|
@ -67,12 +76,8 @@ function ToggleTip({
|
|||
role="tab"
|
||||
tabIndex={0}
|
||||
className={anchorClassName}
|
||||
onClick={() => {
|
||||
setIsOpen(true);
|
||||
}}
|
||||
onKeyDown={onKeyDownHandler(() => {
|
||||
setIsOpen(true);
|
||||
})}
|
||||
onClick={openTip}
|
||||
onKeyDown={onKeyDownHandler(openTip)}
|
||||
>
|
||||
{children}
|
||||
</div>
|
||||
|
|
Loading…
Add table
Reference in a new issue