Skip to content

Commit 420a156

Browse files
committed
feat(Thumbnail): only show focus state when using keyboard navigation
1 parent 9901011 commit 420a156

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/components/Thumbnail/Thumbnail.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import classnames from 'classnames';
22
import React, { MouseEvent, ReactNode, ReactText, useRef } from 'react';
33
import { FileLike } from '../../data';
4-
import { useFile, useFocus } from '../../hooks';
4+
import { useFile, useFocus, useAccessibleFocus } from '../../hooks';
55
import { ClickableDiv, ClickableDivProps } from '../ClickableDiv';
66
import { EditableText } from '../EditableText';
77
import { FileSkeleton } from '../FileSkeleton';
@@ -91,6 +91,8 @@ export function Thumbnail<F extends FileLike>({
9191
onBlur,
9292
...divProps
9393
}: ThumbnailProps<F>) {
94+
const isUserTabbing = useAccessibleFocus();
95+
9496
const thumbnailRef = useRef<HTMLDivElement>(null);
9597

9698
const { focused, handleOnFocus, handleOnBlur } = useFocus(onFocus, onBlur);
@@ -113,6 +115,7 @@ export function Thumbnail<F extends FileLike>({
113115
const thumbnailClass = classnames(
114116
'ui__base ui__thumbnail',
115117
{
118+
'ui__thumbnail--tabbing': isUserTabbing,
116119
'ui__thumbnail--selected': selected,
117120
'ui__thumbnail--focused': focused,
118121
'ui__thumbnail--disabled': disabled,

src/components/Thumbnail/_Thumbnail.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ $thumbnail-border-size: 2px;
3535
}
3636

3737
&:hover,
38-
&--focused:not(.ui__thumbnail--disabled) {
38+
&--focused.ui__thumbnail--tabbing:not(.ui__thumbnail--disabled) {
3939
// Do not style for hover or focus if anything is dragging
4040
&:not(.ui__thumbnail--dragging):not(.ui__thumbnail--otherDragging) {
4141
.ui__thumbnail__controls {
@@ -45,14 +45,14 @@ $thumbnail-border-size: 2px;
4545
}
4646

4747
&:hover,
48-
&--focused:not(.ui__thumbnail--disabled) {
48+
&--focused.ui__thumbnail--tabbing:not(.ui__thumbnail--disabled) {
4949
// Do not style for hover or focus if anything is dragging
5050
&:not(.ui__thumbnail--dragging):not(.ui__thumbnail--otherDragging):not(.ui__thumbnail--selected) {
5151
background-color: $color-gray-3;
5252
}
5353
}
5454

55-
&:focus:not(.ui__thumbnail--disabled) {
55+
&:focus.ui__thumbnail--tabbing:not(.ui__thumbnail--disabled) {
5656
.ui__thumbnail__image {
5757
img,
5858
.ui__thumbnail__image__skeleton {

0 commit comments

Comments
 (0)