Skip to content

Commit a27887e

Browse files
Merge branch 'support-slds-2' into support-slds-2-checkbox-checkbox-group
2 parents 8c20590 + b513781 commit a27887e

File tree

4 files changed

+263
-205
lines changed

4 files changed

+263
-205
lines changed

src/scripts/DropdownButton.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -199,18 +199,25 @@ export const DropdownButton = (props: DropdownButtonProps) => {
199199
iconMore,
200200
}}
201201
{...rprops}
202-
aria-haspopup
202+
aria-haspopup={true}
203+
aria-expanded={opened}
203204
buttonRef={buttonRef}
204205
onClick={onTriggerClick}
205206
onKeyDown={onKeyDown}
206207
onBlur={onBlur}
207208
/>
208209
);
209210

210-
const dropdownClassNames = classnames(className, 'slds-dropdown-trigger', {
211-
'slds-button-space-left': !grouped,
212-
'react-slds-dropdown-opened': opened,
213-
});
211+
const dropdownClassNames = classnames(
212+
className,
213+
'slds-dropdown-trigger',
214+
'slds-dropdown-trigger_click',
215+
{
216+
'slds-m-left_xx-small': !grouped,
217+
'slds-is-open': opened,
218+
'react-slds-dropdown-opened': opened,
219+
}
220+
);
214221
const noneStyle = { display: 'none' };
215222

216223
return (

src/scripts/DropdownMenu.tsx

Lines changed: 41 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,14 @@ export const DropdownMenuHeader: FC<DropdownMenuHeaderProps> = ({
4444
}) => {
4545
const menuHeaderClass = classnames(
4646
'slds-dropdown__header',
47+
'slds-truncate',
4748
divider ? `slds-has-divider_${divider}-space` : undefined,
4849
className
4950
);
5051
return (
51-
<div className={menuHeaderClass}>
52-
<span className='slds-text-heading_label'>{children}</span>
53-
</div>
52+
<li className={menuHeaderClass} role='presentation'>
53+
<span>{children}</span>
54+
</li>
5455
);
5556
};
5657

@@ -221,35 +222,45 @@ export const DropdownMenuItem: FC<DropdownMenuItemProps> = (props) => {
221222
const menuItemClass = classnames(
222223
'slds-dropdown__item',
223224
{ 'slds-is-selected': selected },
224-
divider ? `slds-has-divider_${divider}-space` : undefined,
225225
submenu ? 'slds-has-submenu' : undefined,
226226
className
227227
);
228228
return (
229-
<li className={menuItemClass}>
230-
<a
231-
role='menuitem'
232-
{...rprops}
233-
className='slds-truncate react-slds-menuitem'
234-
aria-disabled={disabled}
235-
aria-haspopup={submenu != null}
236-
aria-expanded={submenuExpanded}
237-
tabIndex={disabled ? undefined : tabIndex}
238-
onClick={disabled ? undefined : onMenuItemClick}
239-
onBlur={disabled ? undefined : onMenuItemBlur}
240-
onFocus={disabled ? undefined : onMenuItemFocus}
241-
onKeyDown={disabled ? undefined : onKeyDown}
242-
>
243-
<p className='slds-truncate'>
244-
{icon ? <Icon icon={icon} size='x-small' align='left' /> : null}
245-
{label || children}
246-
</p>
247-
{iconRight || submenu ? (
248-
<Icon icon={iconRight ?? 'right'} size='x-small' align='right' />
249-
) : null}
250-
</a>
251-
{submenu && submenuExpanded ? submenu : undefined}
252-
</li>
229+
<>
230+
{divider === 'top' ? (
231+
<li className={`slds-has-divider_${divider}-space`} role='separator' />
232+
) : null}
233+
<li className={menuItemClass} role='presentation'>
234+
<a
235+
role='menuitem'
236+
{...rprops}
237+
className='react-slds-menuitem'
238+
aria-disabled={disabled}
239+
aria-haspopup={submenu != null}
240+
aria-expanded={submenuExpanded}
241+
tabIndex={disabled ? undefined : tabIndex}
242+
onClick={disabled ? undefined : onMenuItemClick}
243+
onBlur={disabled ? undefined : onMenuItemBlur}
244+
onFocus={disabled ? undefined : onMenuItemFocus}
245+
onKeyDown={disabled ? undefined : onKeyDown}
246+
>
247+
<span
248+
className='slds-truncate'
249+
title={typeof label === 'string' ? label : undefined}
250+
>
251+
{icon ? <Icon icon={icon} size='x-small' align='left' /> : null}
252+
{label || children}
253+
</span>
254+
{iconRight || submenu ? (
255+
<Icon icon={iconRight ?? 'right'} size='x-small' align='right' />
256+
) : null}
257+
</a>
258+
{submenu && submenuExpanded ? submenu : undefined}
259+
</li>
260+
{divider === 'bottom' ? (
261+
<li className={`slds-has-divider_${divider}-space`} role='separator' />
262+
) : null}
263+
</>
253264
);
254265
};
255266

@@ -389,8 +400,8 @@ const DropdownMenuInner: FC<DropdownMenuProps & AutoAlignInjectedProps> = (
389400
onBlur={onBlur}
390401
{...rprops}
391402
>
392-
{header ? <MenuHeader>{header}</MenuHeader> : null}
393-
<ul className='slds-dropdown__list' role='menu'>
403+
<ul className='slds-dropdown__list' role='menu' aria-label={header}>
404+
{header ? <MenuHeader>{header}</MenuHeader> : null}
394405
<DropdownMenuHandlerContext.Provider value={handlers}>
395406
<OpenSubmenuContext.Provider
396407
value={{ openSubmenuKeys, handleSubmenuOpen }}

0 commit comments

Comments
 (0)