-
Notifications
You must be signed in to change notification settings - Fork 1k
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
strict type for aria combobox #6167
base: main
Are you sure you want to change the base?
Changes from 2 commits
0923684
a562b0c
e804049
4ed225c
c4d0680
b159345
b05fb70
cfe9549
2998d08
7b9c80e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,7 +45,7 @@ export interface MenuTriggerAria<T> { | |
* @param state - State for the menu trigger. | ||
* @param ref - Ref to the HTML element trigger for the menu. | ||
*/ | ||
export function useMenuTrigger<T>(props: AriaMenuTriggerProps, state: MenuTriggerState, ref: RefObject<Element>): MenuTriggerAria<T> { | ||
export function useMenuTrigger<T>(props: AriaMenuTriggerProps, state: MenuTriggerState, ref?: RefObject<Element>): MenuTriggerAria<T> { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think useMenuTrigger should have its ref as optional, it would interfere with longpress handling and arrow keys. @devongovett how would you feel if combobox used useOverlayTrigger directly? it doesn't need longpress behavior There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. At a glance moving to using useOverlayTrigger seems feasible, pretty similar to what we do for MobileCombobox. Like you said, we don't need the long press stuff so we'd only need to copy over the id/pressProps stuff from useMenuTrigger into useComboBox. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. hi do you want me to contribute useOverlayTrigger change. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Definitely feel free to give it a shot if you'd like! It would be good to know if something I'm overlooking would breaks with that change, just haven't had time to try it myself There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. oh okay so there is these 2 props -
We can do either of these -
On this point by @snowystinger would that not be true for arrow keys for combobox? Ignoring the longpress handling which doesnt make sense for combobox
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. apologies about the delay, mind clarifying these two:
Could we set up a
similar to above, perhaps we could copy over the menutrigger's onKeyDown over to useComboBox as well? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. hi sorry, been busy with work. will try your suggestions soon thanks for guidance. |
||
let { | ||
type = 'menu' as AriaMenuTriggerProps['type'], | ||
isDisabled, | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it seems a bit off but would love some idea on this one
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is fine, you could also do
menuProps.id!
because we know that useMenuTrigger always returns an id on menuPropsnow there's an obvious problem with this that I think you're alluding to, which is, useMenuTrigger could stop returning an id in that object. however, we have tests which catch this, so I'm not too concerned