Catalog npm
Back to packageRELEASE DETAILS

0.0.1

npm

@0610studio/zs-ui

EXPO ZS-UI

exporeact-nativezs-uizsui
Published27 Oct 2024
Direct dependencies11
Transitive dependenciesNot calculated

README

Current package documentation
zsui

This library was created using create-expo-module, a tool for creating native modules for Expo projects.

ZS-ui

ZS-ui는 JavaScript만으로 구현된 Expo용 UI 컴포넌트 라이브러리입니다.

다크 모드, 테마, 타이포그래피, Alert, BottomSheet와 같은 주요 UI 요소가 포함되어 있으며, 직관적이고 일관된 사용자 인터페이스를 구현할 수 있습니다.


설치

npx expo install @0610studio/zs-ui

사용법

사용법은 문서를 확인해주세요.


Playground

문서 사이트의 Playground에서 저장소 소스로 빌드한 예제를 바로 조작할 수 있습니다.

저장소를 받아 실제 기기에서 확인하려면 아래를 실행합니다. 이 저장소는 pnpm만 사용합니다.

pnpm install
pnpm start:ios       # iOS 시뮬레이터
pnpm start:android   # Android 에뮬레이터

플랫폼 지원

Skia를 사용하는 ZSBorderBeam, ZSSkeleton의 shimmer 효과는 iOS·Android 전용입니다. 웹에서는 효과 없이 콘텐츠만 렌더링됩니다. ZSCalendar는 웹을 지원하지 않습니다 — 웹에서는 아무것도 렌더링하지 않고 개발 모드에서 한 번 경고합니다(웹 빌드가 깨지지는 않습니다). 그 외 컴포넌트는 웹을 포함한 세 플랫폼에서 동작합니다.


0.21.0 업그레이드 안내

ZSCalendar가 추가되면서 react-native-gesture-handler가 필수 peer 의존성이 되었습니다. 0.20.x에서 올라온다면 설치가 필요합니다.

npx expo install react-native-gesture-handler

앱 루트를 GestureHandlerRootView로 감싸주세요. 이미 react-navigation이나 다른 제스처 기반 라이브러리를 쓰고 있다면 대부분 충족되어 있습니다.

import { GestureHandlerRootView } from 'react-native-gesture-handler';

export default function App() {
  return (
    <GestureHandlerRootView style={{ flex: 1 }}>
      <ThemeProvider>{/* ... */}</ThemeProvider>
    </GestureHandlerRootView>
  );
}

ZSCalendar를 쓰지 않아도 설치는 필요합니다. 배포물이 CommonJS 번들이라 tree-shaking이 없어, 라이브러리를 import하는 순간 모듈이 평가되기 때문입니다.


## 테스트 결과
항목값
상태✅ 성공
실행 시간2026. 08. 31. 오후 04:11
전체 테스트281
성공✅ 281
실패✅ 0
성공률100.0%

📊 코드 커버리지

항목커버리지상태
Statements93.0%🟢
Branches88.8%🟡
Functions80.6%🟡
Lines93.0%🟢

✅ 모든 테스트 통과

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 18

Native requirements
11 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
react
Environment
{
  "local_name": "react",
  "alias": false,
  "peer_metadata": null
}
>=16.8.0development
@types/react
Environment
{
  "local_name": "@types/react",
  "alias": false,
  "peer_metadata": null
}
^18.0.25development
react-native
Environment
{
  "local_name": "react-native",
  "alias": false,
  "peer_metadata": null
}
>=0.63.0development
react-native-svg
Environment
{
  "local_name": "react-native-svg",
  "alias": false,
  "peer_metadata": null
}
^15.8.0development
expo-modules-core
Environment
{
  "local_name": "expo-modules-core",
  "alias": false,
  "peer_metadata": null
}
^1.12.24development
expo-module-scripts
Environment
{
  "local_name": "expo-module-scripts",
  "alias": false,
  "peer_metadata": null
}
^3.5.2development
react-native-reanimated
Environment
{
  "local_name": "react-native-reanimated",
  "alias": false,
  "peer_metadata": null
}
^3.16.0development
react-native-gesture-handler
Environment
{
  "local_name": "react-native-gesture-handler",
  "alias": false,
  "peer_metadata": null
}
^2.20.0development
react-native-safe-area-context
Environment
{
  "local_name": "react-native-safe-area-context",
  "alias": false,
  "peer_metadata": null
}
^4.11.1development
@react-native-async-storage/async-storage
Environment
{
  "local_name": "@react-native-async-storage/async-storage",
  "alias": false,
  "peer_metadata": null
}
^2.0.0development
expo
Environment
{
  "local_name": "expo",
  "alias": false,
  "peer_metadata": null
}
*peer
react
Environment
{
  "local_name": "react",
  "alias": false,
  "peer_metadata": null
}
*peer
react-native
Environment
{
  "local_name": "react-native",
  "alias": false,
  "peer_metadata": null
}
*peer
react-native-svg
Environment
{
  "local_name": "react-native-svg",
  "alias": false,
  "peer_metadata": null
}
*peer
react-native-reanimated
Environment
{
  "local_name": "react-native-reanimated",
  "alias": false,
  "peer_metadata": null
}
*peer
react-native-gesture-handler
Environment
{
  "local_name": "react-native-gesture-handler",
  "alias": false,
  "peer_metadata": null
}
*peer
react-native-safe-area-context
Environment
{
  "local_name": "react-native-safe-area-context",
  "alias": false,
  "peer_metadata": null
}
*peer
@react-native-async-storage/async-storage
Environment
{
  "local_name": "@react-native-async-storage/async-storage",
  "alias": false,
  "peer_metadata": null
}
*peer

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "3d80ace85f7975a218cfa1f3a74fa94c5a23ac0c",
  "tarball": "https://registry.npmjs.org/@0610studio/zs-ui/-/zs-ui-0.0.1.tgz",
  "fileCount": 250,
  "integrity": "sha512-flgbuf7S78eFC/psD6hes2eP1EIKe1B/AVr+znaEfsP0YNgI284bGw/MewJGyL52UP1u/oBvl+rQH9h81XOLpA==",
  "signatures": [
    {
      "sig": "MEUCIG7M3ltgdQFaVFjhbnV1qR2lYYtmNPUNCnCFIZl45rASAiEAvu3c7ZLe9xCqGs7UeJ8rvp02i3Ov+lOCRrLky8BR2bI=",
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"
    }
  ],
  "unpackedSize": 455902
}

Repository

PENDING
0610studio/zs-ui

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:01 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:7c3b43a2c41857eb4a9ba8c071b1dfd3b2ff7c36a328cf0719d36bd2a02caefb

Other collected versions

1.0.321 Sept1.0.22 Sept1.0.12 Sept0.19.428 Aug0.19.327 Aug0.19.226 AugView all collected versions →