mui / mui/base-ui

Support for react-strict-dom

Open
#2,264 0 comments 14 reactions 0 assignees View on GitHub
on hold scope: all components scope: new proposal type: new feature waiting for 👍
Dominant language
TypeScript
Stars
10.9k
Forks
543
Avg merge
1d 20h
Merged PRs (30d)
101

Description

## Summary

I would like to globally replace dom primitives with [react-strict-dom](https://facebook.github.io/react-strict-dom/learn/) primitives, Stylex styles, and a restricted set of compliant interaction handlers. In short:

- primitive layer replacement
- interaction layer replacement

I think your building blocks are great. I just need more fine-grained control.

## Motivation

I would like to use Base UI state and interaction management as a basis for a design system, but the granularity of customization is not quite what I need. I think I would need to override every single component with a custom render method to replace the dom primitives. The interaction layer is combined with state and hidden - think about react-stately for state vs react-aria for interactions and aria support - each layer should be swappable.

It looks like the floating UI hooks should work with reactive-native so hopefully there would be a way to also swap the platform.

## Context

- https://npm-stat.com/charts.html?package=react-strict-dom&from=2023-09-22
- #2612
- A cool talk on it: https://gitnation.com/contents/react-strict-dom-cross-platform-react-based-on-the-web.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.