본문으로 건너뛰기

개요

@0610studio/zs-ui는 React Native Expo 환경에서 동작하는 UI 컴포넌트 라이브러리입니다. 다크 모드, 타이포그래피, 오버레이(Alert, BottomSheet, Snackbar), 폴더블 디바이스 지원까지 포함합니다.

한눈에 보기

현재 저장소 소스로 빌드한 앱 예제 카탈로그입니다. 예제 불러오기를 선택하면 테마, 레이아웃, 입력, 선택, 오버레이와 폴더블 예제를 탐색하고 직접 조작할 수 있습니다.

앱 예제 Playgroundv1.0.2
Interactive exampleZS-ui 앱 예제 Playground

예제를 선택하면 현재 저장소 소스로 만든 Expo Web 화면을 불러옵니다.

웹 미지원 또는 플랫폼 종속 기능은 실제 iOS·Android 앱에서 확인하세요.

개발자 경험

1. Declarative Overlay

화면마다 모달의 isOpen 상태를 따로 만들고 관리할 필요가 없습니다. 이것이 기본 원칙입니다. useOverlay 훅에서 showAlert, showBottomSheet, showSnackBar를 호출하면 끝입니다. 숨기고 싶을 때는 hideOverlay로 한 번에 처리합니다. 내부 컨텍스트는 OverlayProvider 하나가 모두 담당합니다.

const { showAlert, showSnackBar, hideOverlay } = useOverlay();

showAlert({ title: '확인', informative: '저장되었습니다.' });
showSnackBar({ message: '성공', type: 'success' });
hideOverlay('all');

2. Consistent Container

ZSContainerSafeAreaView, ScrollView, StatusBar를 하나로 묶어 제공합니다. 모든 스크린에 동일한 구조를 적용하면 SafeArea, 키보드, 폴더블 처리가 자동으로 따라옵니다.

<ZSContainer edges={['bottom']} topComponent={<Header />}>
{/* 스크린 내용 */}
</ZSContainer>

3. Input Scroll Tracking

키보드가 올라오면 ZSContainer가 현재 포커스된 입력 필드를 자동으로 스크롤해서 보여줍니다. 별도 플래그를 관리하거나 KeyboardAvoidingView를 수동으로 배치할 필요가 없습니다.

어떤 문서부터 볼까요?

목적다음 문서
앱 루트 설정과 첫 화면 구성시작하기
색상·타이포그래피·공통 토큰 사용설정과 테마
입력, 선택, 피드백 컴포넌트 탐색UI 컴포넌트
Alert, BottomSheet, Snackbar 연결Overlay
저장소 예제를 직접 조작Playground

설치

npx expo install @0610studio/zs-ui

문서 구조

추가 리소스