Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(AppNaviDropdownMenuButton): 選択中の項目が視覚的にも伝わるように装飾を追加 #5193

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

uknmr
Copy link
Collaborator

@uknmr uknmr commented Dec 13, 2024

関連URL

https://smarthr.atlassian.net/browse/SHRUI-1180

概要

AppNaviDropdownMenuButton に current と同等の表現を付与するために aria-current="page" を使っています。ドロップダウンメニュー内の項目に aria-current="page" が存在する場合に、ドロップダウントリガーを current にする、という処理になっています。

aria-current="page" が付いているため、どの項目が現在地なのか機械可読になっていますが、視覚的には伝わらない状態になっているため、これを修正します。

変更内容

  • AppNaviDropdownMenuButton 内の要素に aria-current="page" が付いている場合、背景色と太字の装飾が付くように修正
  • DropdownMenuButton および AppNaviDropdownMenuButton 内の項目の角丸を消しました
  • Story を修正

確認方法

Storybook で確認してください。
https://63d0ccabb5d2dd29825524ab-zcokwihbgr.chromatic.com/?path=/story/navigation%EF%BC%88%E3%83%8A%E3%83%93%E3%82%B2%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%EF%BC%89-appnavi-appnavidropdownmenubutton--current

@uknmr uknmr requested a review from a team as a code owner December 13, 2024 11:55
@uknmr uknmr requested review from misako0927 and s-sasaki-0529 and removed request for a team December 13, 2024 11:55
Copy link

pkg-pr-new bot commented Dec 13, 2024

Open in Stackblitz

npm i https://pkg.pr.new/kufu/smarthr-ui@5193

commit: 4a19be7

})()

const renderItemList = (children: ReactNode) =>
React.Children.map(children, (item): ReactNode => {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DropdownMenuButton の children は portal に展開されてしまいスタイリングをあてられないため、React.Children.mapReact.cloneElemtne を使ってスタイリングしています。

return renderItemList(item.props.children)
}

if (item.type === DropdownMenuGroup) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DrpodownMenuGroup の children に対してもスタイリングを当てたいため、再帰的に呼び出し。

@uknmr uknmr enabled auto-merge (squash) December 13, 2024 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant