channel-io / bezier-react

React components library that implements Bezier design system.
https://main--62bead1508281287d3c94d25.chromatic.com
Apache License 2.0
217 stars 47 forks source link

Implement and export Primitive components (via radix-ui) #2048

Open sungik-choi opened 7 months ago

sungik-choi commented 7 months ago

Description

Implement and export Primitive components (via radix-ui)

Reasons for suggestion

https://github.com/channel-io/bezier-react/discussions/1805 에도 적었듯, 다음 버전의 디자인 시스템에서는 Standard component(bezier-react)와 App component(applicatin-specific component)를 모두 디자인 시스템의 바운더리 안에 포함합니다.

App component의 구현체가 bezier-react에 존재하지는 않으나, 대부분의 컴포넌트의 동작은 두 레이어가 공유하게 됩니다. 대표적으로 bezier-react Modal의 UI를 따르진 않지만 Modal처럼 동작하는(floating & focus trap) 컴포넌트를 애플리케이션에서 구현해야하는 케이스가 있습니다. 이런 케이스들을 중복 로직 없이 애플리케이션 개발자가 쉽게 구현할 수 있도록 하기 위해, UI를 제외한 동작만을 포함한 컴포넌트 - Primtive(Headless) 컴포넌트를 bezier-react에서 제공하고자 합니다.

Proposed solution

References

sungik-choi commented 7 months ago
sungik-choi commented 6 months ago

2049