Skip to content

Commit a45ba01

Browse files
feat: SpeedDial item keyboard support added
1 parent 41857af commit a45ba01

3 files changed

Lines changed: 159 additions & 151 deletions

File tree

packages/headless/src/speeddial/useSpeedDial.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,17 @@ export const useSpeedDial = withHeadless({
8383
}
8484
};
8585

86-
const onItemClick = (event: React.MouseEvent) => {
86+
const onItemClick = (event: React.MouseEvent | React.KeyboardEvent) => {
8787
hide();
8888

8989
isItemClicked.current = true;
90-
event.preventDefault();
90+
event.preventDefault?.();
91+
};
92+
93+
const onItemKeyDown = (event: React.KeyboardEvent) => {
94+
if (event.code === 'Enter') {
95+
onItemClick(event);
96+
}
9197
};
9298

9399
const onClick = () => {
@@ -420,7 +426,8 @@ export const useSpeedDial = withHeadless({
420426
onKeyDown,
421427
onClick,
422428
onTogglerKeydown,
423-
onItemClick
429+
onItemClick,
430+
onItemKeyDown
424431
};
425432
}
426433
});

packages/primereact/src/speeddial/action/SpeedDialAction.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ export const SpeedDialAction = withComponent({
2424
className: speeddial?.cx('action'),
2525
tabIndex: -1,
2626
role: 'menuitem',
27-
onClick: speeddial?.onItemClick
27+
onClick: speeddial?.onItemClick,
28+
onKeyDown: speeddial?.onItemKeyDown
2829
},
2930
ptmi('root')
3031
);

0 commit comments

Comments
 (0)