juanca / react-aria-components

React ARIA-compliant Components
https://juanca.github.io/react-aria-components
MIT License
6 stars 3 forks source link

Grid studies #43

Closed juanca closed 5 years ago

juanca commented 5 years ago

I'm going to merge this in.

This was a very useful exploration into the Grid API and front-facing demo pages for this library.

A few take aways:

From these, the follow up tasks (in priority):

  1. Invert the focus management: currently, each individual cell encodes the focus logic and transfers focus to other nodes outside its React tree. This seems to weigh down the implementation of each cell and I think we can do better -- even though we can DRY up the code, it still does not feel like the appropriate abstraction(s). My suggestion will be to move the responsibility to the Grid component. Each cell will only be responsible for managing the flow events from its React tree and the Grid will react accordingly.

  2. The landing demo page should only show case simple functionality. Each individual component should link to dedicated pages that explore its API and performance -- perhaps to even on-going explorations.

  3. The core CSS should only focus on layout responsibilities to avoid unnecessary CSS overrides through composition. I am not really sure where to show case the CSS API of each component but it must be done somewhere.

juanca commented 5 years ago

I decided against merging it in. I was re-writing the underlying tech for managing active cursor -- and probably interactive cursor as well.