Updating column resize to support mode where resizer is always visible (#4077)
* Updating column resize to support mode where resizer is always visible
split out from https://github.com/adobe/react-spectrum/pull/4061, see that PR for more details and alternative approaches
* update to match latest changes to api
* mimic docs example
* forgot to clean up some things
* pulling in code changes from docs PR
get rid of inline styles and fix case where there isnt a separate trigger for starting column resize
* remove sorting story and cleanup
* starting resize on press for indicator
this unfortunately causes a difference in behavior between starting a drag on menu (no resizestart until move) and starting a drag via mouse/touch (resizestart immediately on press)
* using triggerRef existance to determine if behavior is resize on focus
one test is still breaking, debugging
* fixing test
test would blur on rerender causing a column width update even though resizing wasnt happening. Changed conditonal so calling endResize only causes value updates if we are resizing
* make resizer single line for focus
* nit reorganizing
* mimic docs example
remove selection from example to mirror docs
* adding description for keyboard users for Enter to start resizing
this is for the aria table example where resizing is entered manually via Enter while focused on the resizer
* fixing issue where tab wasnt exiting the table when focused on the reizer
* adding min width for columns to avoid weirdness with trying to collapse 0
* fix lint
* propagate all keydown events if we arent in resize mode and have always visible resizers
forgot that we also have other keyboard combos like cmd + a or escape that should also be handled by useSelectableCollection
* removing ref read in render
* add aria description to input for virtual modality too
if the user enters the table using control+option+arrow keys in voiceover, they will be virtual modality so we want the description for press enter to resize to be audible there
* addressing review comments
* prevent extraneous scrolling when keyboard navigating to the resizer
margin applied on the visually hidden input makes scrollIntoView think it needs to scroll it
* address review comments
* fix logic