npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@bigtablet/design-system

v1.7.2

Published

Bigtablet Design System UI Components

Readme

Bigtablet Design System

Bigtablet의 공통 UI 컴포넌트 및 디자인 시스템입니다.
Foundation(디자인 토큰)과 Components(UI 컴포넌트)를 분리하여 관리하며,
Storybook 기반 문서화와 Chromatic을 통한 시각적 테스트를 제공합니다.


Features

  • Foundation / Components 구조 분리
  • Storybook 8 기반 문서화
  • Chromatic 시각적 회귀 테스트
  • Pure React / Next.js 분리 번들
  • SCSS 기반 Design Token 관리
  • pnpm + GitHub Actions 자동 배포

Tech Stack

| Category | Technology | |--------|-----------| | Framework | React 19 | | Styling | SCSS | | Documentation | Storybook 8 | | Visual Test | Chromatic | | Build | tsup | | Package Manager | pnpm | | CI / CD | GitHub Actions |


Project Structure

src/
├── styles/
│   ├── ts/                 # Foundation Tokens (TypeScript)
│   │   ├── colors.ts
│   │   ├── spacing.ts
│   │   ├── typography.ts
│   │   ├── radius.ts
│   │   ├── shadows.ts
│   │   ├── motion.ts
│   │   ├── z-index.ts
│   │   ├── breakpoints.ts
│   │   └── a11y.ts
│   └── scss/               # SCSS Token & Mixins
│
├── ui/
│   ├── form/               # TextField, Checkbox, Radio, Switch, FileInput
│   ├── feedback/           # Alert, Toast, Loading
│   ├── navigation/         # Pagination, Sidebar
│   ├── overlay/            # Modal
│   ├── display/            # Card
│   ├── general/            # Button, Select
│   ├── skeleton/           # SkeletonCard, SkeletonList
│   └── styles/             # Shared component styles
│
├── index.ts                # Pure React exports
└── next.ts                 # Next.js specific exports

Design System Structure

Bigtablet Design System은 FoundationComponents 두 레이어로 구성됩니다.
Foundation은 디자인의 기준과 규칙을 정의하고,
Components는 이 기준을 사용해 실제 UI를 구성합니다.


Foundation

Storybook 경로:

src/styles/ts/colors.ts

Foundation은 모든 컴포넌트에서 공통으로 사용하는 디자인 기준입니다.
컴포넌트 구현 시, 임의의 값 사용을 금지하고 반드시 Foundation 토큰을 사용해야 합니다.

Colors

  • 브랜드, 배경, 텍스트, 상태(success / error / warning) 색상
  • 직접 색상 값 사용 금지

파일:

src/styles/ts/colors.ts

Spacing

  • margin, padding, gap 기준 스케일
  • 레이아웃 일관성 유지 목적

파일:

src/styles/ts/spacing.ts

Typography

  • 폰트 패밀리
  • 폰트 크기, 굵기, 줄 간격
  • Heading / Body / Caption 기준

파일:

src/styles/ts/typography.ts

Radius

  • 컴포넌트 모서리 둥글기 기준
  • 카드, 버튼, 입력 필드 등 공통 사용

파일:

src/styles/ts/radius.ts

Shadows

  • elevation 레벨 정의
  • 카드, 모달, 드롭다운 등 깊이 표현

파일:

src/styles/ts/shadows.ts

Motion

  • transition duration
  • easing curve 기준

파일:

src/styles/ts/motion.ts

Z-Index

  • 레이어 우선순위 정의
  • modal, toast, dropdown 등

파일:

src/styles/ts/z-index.ts

Breakpoints

  • 반응형 기준 해상도

권장 구분:

  • mobile
  • tablet
  • laptop
  • desktop

파일:

src/styles/ts/breakpoints.ts

Accessibility (A11y)

  • 포커스 링 스타일
  • 최소 터치 영역 크기
  • 접근성 기준 토큰

파일:

src/styles/ts/a11y.ts

예시:

focusRing
focusRingError
tapMinSize

Components

Storybook 경로 규칙:

src/stories/components/name.stoires.tsx

Components는 Foundation 토큰을 기반으로 구현된 실제 UI 컴포넌트 레이어입니다.
모든 컴포넌트는 다음 원칙을 따릅니다.

  • Foundation 토큰(colors, spacing, typography 등)만 사용
  • 상태(hover, active, disabled, error 등) 명확히 정의
  • 접근성(a11y) 기본 고려
  • Storybook 문서 필수 제공

Form

사용자 입력을 담당하는 컴포넌트들입니다.

Button

  • 기본 액션 버튼
  • variant: primary / secondary / ghost / danger
  • size: sm / md / lg

TextField

  • 텍스트 입력 필드
  • label, helperText 지원
  • error / success 상태 지원
  • leftIcon / rightIcon 지원

Checkbox

  • 다중 선택 입력
  • indeterminate 상태 지원

Radio

  • 단일 선택 입력
  • 동일한 name으로 그룹 구성

Switch

  • ON / OFF 토글 입력
  • controlled / uncontrolled 모두 지원

Select

  • 드롭다운 선택 컴포넌트
  • 키보드 및 마우스 인터랙션 지원
  • controlled / uncontrolled 모두 지원

FileInput

  • 파일 선택 입력
  • 커스텀 UI 제공

Feedback

사용자에게 상태 및 피드백을 전달하는 컴포넌트들입니다.

Alert

  • 모달 형태의 알림
  • info / success / warning / error variant
  • confirm / cancel 액션 지원
  • useAlert 훅 기반

Loading

  • 인라인 로딩 스피너
  • 크기 조절 가능

ToastProvider / useToast

  • 전역 토스트 메시지
  • success / error / warning / info / message 타입 제공
  • 내부적으로 react-toastify 사용

Navigation

페이지 이동 및 흐름 제어 컴포넌트입니다.

Pagination

  • Prev / Next 기반 페이지네이션
  • controlled 방식으로 상태 관리

Sidebar

  • 좌측 네비게이션 메뉴
  • 활성 경로 표시
  • match 모드 지원 (startsWith / exact)
  • Next.js 전용 컴포넌트

Overlay

콘텐츠 위에 표시되는 레이어 컴포넌트입니다.

Modal

  • 중앙 정렬 오버레이
  • ESC / 오버레이 클릭 닫기 지원
  • 제목 영역 optional

Display

정보를 시각적으로 표현하는 컴포넌트입니다.

Card

  • 콘텐츠 그룹화용 컨테이너
  • elevation 및 padding 포함

Skeleton

로딩 중 UI를 표현하는 컴포넌트입니다.

SkeletonCard

  • 카드 형태 스켈레톤

SkeletonList

  • 리스트 형태 스켈레톤

Storybook Guidelines

Title 규칙

foundation/
components/

Story 작성 원칙

  • 기본 상태(Default) 반드시 포함
  • size / variant / state 예제 포함
  • 디자이너가 봐도 이해 가능한 설명 작성
  • 실제 사용 예제 위주 구성
  • 불필요한 control 노출 지양