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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@723poil/vue3-ui-kit

v0.0.16

Published

![Version](https://img.shields.io/npm/v/@723poil/vue3-ui-kit) ![License](https://img.shields.io/npm/l/@723poil/vue3-ui-kit)

Downloads

176

Readme

@723poil/vue3-ui-kit

Version License

Vue 3, Vite, Tailwind CSS 기반의 모던 디자인 시스템 라이브러리입니다. 빠르고 일관된 UI 개발을 위해 생산성 높은 컴포넌트와 유틸리티를 제공합니다.

✨ 주요 특징

  • 🎨 Tailwind CSS 기반: Tailwind의 유틸리티 클래스를 활용한 유연한 스타일링 시스템.
  • 🧩 Vue 3 Composition API: <script setup> 문법과 Composition API를 완벽하게 지원.
  • 📱 반응형 디자인 (Responsive): 모바일 퍼스트 접근 방식으로 모든 디바이스 대응.
  • 🛠 TypeScript 지원: 모든 컴포넌트와 유틸리티에 대한 엄격한 타입 정의 포함.
  • 🤖 AI-Ready: AI 에이전트(Cursor, Copilot 등)를 위한 전용 컨텍스트 문서 제공.

📦 설치 (Installation)

npm install @723poil/vue3-ui-kit

⚙️ 설정 (Configuration)

1. Tailwind CSS 설정

프로젝트의 tailwind.config.js 파일에 라이브러리의 프리셋을 추가하세요. 이를 통해 UI Kit의 색상 팔레트와 디자인 토큰을 사용할 수 있습니다.

// tailwind.config.js
import uiKitPreset from "@723poil/vue3-ui-kit/tailwind.preset.js";

/** @type {import('tailwindcss').Config} */
export default {
  presets: [uiKitPreset],
  content: [
    "./index.html",
    "./src/**/*.{vue,js,ts,jsx,tsx}",
    // UI Kit 내부 컴포넌트 스타일 적용을 위해 필수 추가
    "./node_modules/@723poil/vue3-ui-kit/dist/**/*.{js,vue,ts}",
  ],
  safelist: [
    // 동적 클래스 사용 시 필요한 패턴 (옵션)
    {
      pattern: /(bg|text|border)-(primary|secondary)(-(50|100|200|300|400|500|600|700|800|900|950))?/,
      variants: ["hover", "focus", "active"],
    },
  ],
  theme: {
    extend: {
      // 필요 시 디자인 토큰 오버라이드 가능
      // colors: {
      //   primary: { DEFAULT: '#0000FF' }
      // }
    },
  },
}

2. 스타일시트 Import

애플리케이션의 진입점(예: main.ts 또는 main.js)에서 스타일 파일을 import 하세요.

import { createApp } from 'vue'
import App from './App.vue'

// UI Kit 스타일 (Tailwind 유틸리티 포함)
import "@723poil/vue3-ui-kit/style.css";
import './style.css' // 프로젝트 전용 스타일

createApp(App).mount('#app')

🚀 사용법 (Usage)

컴포넌트 사용 예시

<script setup>
import { AppButton, AppInput, useForm } from '@723poil/vue3-ui-kit';

const { form } = useForm({ email: '' });
</script>

<template>
  <div class="p-8">
    <AppInput v-model="form.email" label="이메일" placeholder="[email protected]" />
    <AppButton variant="primary" class="mt-4">전송</AppButton>
  </div>
</template>

디자인 시스템 페이지

개발 중 컴포넌트 목록과 스타일을 확인하려면 DesignSystemPage를 라우터에 추가하세요.

// router/index.ts
import { DesignSystemPage } from '@723poil/vue3-ui-kit'

// ... routes 배열 내에 추가
{
  path: '/_design',
  component: DesignSystemPage
}

📚 컴포넌트 목록 (Components)

| 카테고리 | 컴포넌트 | 설명 | 문서 | |--- |--- |--- |:---:| | Forms | AppInput | 라벨/에러 처리가 포함된 텍스트 입력 필드 | Docs | | | AppSelect | 드롭다운 선택 컴포넌트 | Docs | | | AppTextarea | 글자 수 카운터가 있는 텍스트 영역 | Docs | | | AppSearch | 검색 전용 입력 필드 (아이콘/액션 슬롯) | Docs | | | AppImageUpload | 이미지 업로드, 미리보기, 규격 검증 | Docs | | UI Elements | AppButton | 다양한 스타일(Primary, Ghost 등)의 버튼 | Docs | | | AppIcon | SVG Path 기반 아이콘 래퍼 | Docs | | | AppImage | 스켈레톤 로딩, 에러 UI, 비율 고정 지원 이미지 | Docs | | | AppTable | 헤더/행 커스텀 슬롯, 로딩/데이터 없음 상태 지원 테이블 | Docs | | Feedback | AppToast | 성공/에러/경고 알림 메시지 | Docs | | | AppModal | 헤더/바디/푸터 슬롯을 지원하는 모달 | Docs | | | AppNotFound | 404 에러 페이지 템플릿 | Docs | | Layout | AppPageHeader | 페이지 제목 및 우측 액션 버튼 영역 | Docs | | | AppSection | 콘텐츠 섹션 구분 컨테이너 | Docs | | | AppTabs | 탭 네비게이션 (가로/세로 모드) | Docs | | | AppToc | 스크롤 스파이 기능이 있는 목차(Table of Contents) | Docs |

🧰 Composables & Utils

useForm

강력한 폼 상태 관리 및 유효성 검사 훅입니다.

import { useForm, Validators } from '@723poil/vue3-ui-kit';

const { form, errors, validate } = useForm(
  { email: '', password: '' }, // 초기값
  {
    email: [Validators.required(), Validators.email()], // 검증 규칙
    password: [Validators.required(), Validators.minLength(8)]
  }
);

useScrollRestoration

KeepAlive된 컴포넌트(리스트 등)의 스크롤 위치를 자동으로 저장하고 복원합니다.

import { ref } from 'vue';
import { useScrollRestoration } from '@723poil/vue3-ui-kit';

const listContainer = ref(null);
useScrollRestoration(listContainer);

// 템플릿의 스크롤 컨테이너에 ref="listContainer" 연결

🤖 AI-Assisted Development

이 프로젝트는 AI 코딩 어시스턴트가 라이브러리를 정확하게 이해하고 코드를 작성할 수 있도록 돕는 Context 파일을 제공합니다.

Cursor나 Copilot을 사용할 때, 아래 문구를 .cursorrules나 프롬프트에 추가하세요:

"이 프로젝트는 @723poil/vue3-ui-kit을 사용합니다. 컴포넌트의 정확한 Props와 사용법은 node_modules/@723poil/vue3-ui-kit/AI_CONTEXT.md를 참고하여 코드를 작성해주세요."


License

MIT