Skip to content

Commit 5911e9a

Browse files
committed
add focus outlines to menu items
1 parent e2fe226 commit 5911e9a

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

‎packages/ui/src/mosaic/components/menu/menu.styles.ts‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@ export const positioner = stylex.create({
1313

1414
export const popup = stylex.create({
1515
base: {
16+
padding: space['0.5'],
1617
borderRadius: radiusVars['--cl-radius-lg'],
1718
gap: space['0.5'],
1819
outline: 'none',
19-
paddingBlock: space['0.5'],
20-
paddingInline: space['0.5'],
2120
backgroundColor: colorVars['--cl-color-card'],
2221
boxShadow: `0 12px 12px -7px light-dark(oklch(0.2046 0 0 / 12%), transparent),
2322
0 24px 24px -10px light-dark(oklch(0.2046 0 0 / 4%), transparent),
@@ -49,6 +48,7 @@ export const popup = stylex.create({
4948
// reaches the width it has to truncate at.
5049
maxWidth: 'min(18rem, calc(100vw - 2rem))',
5150
minWidth: '12.5rem',
51+
overflowX: 'visible',
5252
overflowY: 'auto',
5353
},
5454
});
@@ -75,6 +75,7 @@ export const item = stylex.create({
7575
fontWeight: fontWeightVars['--cl-font-medium'],
7676
lineHeight: typeScaleVars['--cl-text-sm-leading'],
7777
opacity: { default: 1, ':is([data-disabled])': 0.5 },
78+
outlineOffset: 0,
7879
position: 'relative',
7980
textAlign: 'start',
8081
transitionDuration: {

‎packages/ui/src/mosaic/components/menu/menu.tsx‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import type {
2-
MenuItemProps as PrimitiveMenuItemProps,
3-
MenuPopupProps as PrimitiveMenuPopupProps,
42
MenuPortalProps,
53
MenuProps,
64
MenuSeparatorProps,
5+
MenuItemProps as PrimitiveMenuItemProps,
6+
MenuPopupProps as PrimitiveMenuPopupProps,
77
} from '@clerk/headless/menu';
88
import { Menu as Primitive } from '@clerk/headless/menu';
99
import { useRender } from '@clerk/headless/utils';
@@ -12,6 +12,7 @@ import React from 'react';
1212

1313
import type { MosaicComponentProps } from '../../props';
1414
import { mergeStyleProps, themeProps } from '../../props';
15+
import { focusOutline } from '../../utils/focus-outline.styles';
1516
import { reset } from '../../utils/reset.styles';
1617
import { truncationStyles } from '../../utils/typography.styles';
1718
import { Button } from '../button';
@@ -175,7 +176,7 @@ export const MenuItem = React.forwardRef<HTMLButtonElement, MenuItemProps>(funct
175176
label={label}
176177
{...mergeStyleProps(
177178
themeProps('menu-item', { color }),
178-
stylex.props(reset.base, slots.item.base, color === 'negative' && slots.item.negative),
179+
stylex.props(reset.base, focusOutline.visible, slots.item.base, color === 'negative' && slots.item.negative),
179180
className,
180181
style,
181182
)}

0 commit comments

Comments
 (0)