Skip to content

Web UI: Migrate from Chakra UI to a "headless" UI library #1194

@psychedelicious

Description

@psychedelicious

This is mainly a discussion for @blessedcoolant and @hipsterusername and relates to the internals of the web UI.

Now that we are implementing all styling in SCSS, there are only two reasons to stick with Chakra UI for the web UI:

  • Accessibility
  • Functionality

There is a good reason to not stick with Chakra UI - its default styling is often very tricky to override.

There are a number of mature "headless" UI libraries, which provide accessibility and functionality without any styling. In my research, the best one appears to be Radix UI.

Other popular options include react-aria and headless-ui.

Propose we, at some point, maybe-probably-definitely-not-now-but-eventually, move to Radix UI. It provides all the components we could want with accessibility and none of the default styling headache.

The migration could be done piecemeal, component by component. Perhaps I am being too enthusiastic, but I reckon it may even be painless. Appreciate input.

If we did want to use a css-in-js library for styling, Stitches appears to be an an excellent option and is commonly paired with headless UI libraries.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions