Library komponen UI React yang modern dan dapat dikustomisasi, dibangun dengan TypeScript, Vite, dan SCSS. Pesona UI menyediakan set komponen yang lengkap dan dapat digunakan kembali untuk membangun aplikasi web yang indah.
npm install pesona-uiLibrary komponen UI React yang modern dan dapat dikustomisasi, dibangun dengan TypeScript, Vite, dan SCSS. Pesona UI menyediakan set komponen yang lengkap dan dapat digunakan kembali untuk membangun aplikasi web yang indah.
- šØ 18+ Komponen Siap Pakai - Button, Card, Modal, Dropdown, Table, Form, dan lainnya
- šŖ Dukungan TypeScript - Definisi tipe lengkap sudah termasuk
- š Dapat di-Theme - Kustomisasi mudah dengan SCSS variables
- š¦ Tree-shakeable - Import hanya yang Anda butuhkan
- ā” Cepat - Dibangun dengan Vite untuk performa optimal
- š§ Fleksibel - Komponen yang sangat dapat dikustomisasi
- š± Responsive - Pendekatan desain mobile-first
- Button - Komponen tombol serbaguna dengan berbagai varian
- Card - Komponen container untuk konten
- Spinner - Indikator loading
- Dropdown - Menu dropdown dan select
- Badge - Badge status dan label
- Box - Container layout
- Tab - Navigasi tab
- Alert - Pesan alert
- Callout - Blok konten yang di-highlight
- Tooltip - Tooltip kontekstual
- Popover - Overlay popover
- Modal - Dialog modal
- Accordion - Panel konten yang dapat dilipat
- Progress - Progress bar dan indikator
- Form - Komponen form (Input, Select, Checkbox, dll.)
- Loading - State loading
- List - Komponen list
- Table - Tabel data
``bash`
npm install pesona-uiatau
yarn add pesona-ui
Import komponen dan styles di aplikasi React Anda:
`tsx
import { Button, Card, Modal } from 'pesona-ui';
import 'pesona-ui/dist/pesona-ui.css';
function App() {
return (
);
}
`
Project ini menggunakan struktur monorepo:
``
pesona-ui-react/
āāā src/ # Library Komponen UI
ā āāā components/ # Semua komponen yang dapat digunakan kembali
ā āāā styles/ # Global styles dan variables
ā āāā hooks/ # Custom React hooks
ā āāā index.ts # Entry point utama
āāā demo/ # Aplikasi Demo
ā āāā src/
ā āāā presentation/ # Demo pages dan contoh
ā āāā domain/ # Business logic
ā āāā data/ # Data layer
āāā dist/ # Output build
Berisi library komponen UI yang dapat dipublikasikan ke npm. Setiap komponen mengikuti struktur yang konsisten:
``
Component/
āāā Component.tsx # Logic komponen
āāā Component.scss # Styles komponen
āāā index.ts # Export
Aplikasi admin dashboard lengkap yang mendemonstrasikan cara menggunakan komponen. Fitur yang tersedia:
- Contoh komponen live
- Dokumentasi interaktif
- Pola penggunaan real-world
- State management dengan Redux Toolkit
- Routing dengan React Router
- Internationalization (i18n)
- Form handling dengan React Hook Form
- Data fetching dengan React Query
- Node.js >= 18
- Yarn atau npm
1. Clone repository:
`bash`
git clone
cd pesona-ui-react
2. Install dependencies:
`bash`
yarn install
3. Build library:
`bash`
yarn build
4. Jalankan aplikasi demo:
`bash`
cd demo
yarn install
yarn dev
Demo akan tersedia di http://localhost:5180
Root (Library):
- yarn dev - Mulai mode developmentyarn build
- - Build libraryyarn lint
- - Jalankan ESLintyarn lint:fix
- - Perbaiki error ESLintyarn format
- - Format code dengan Prettieryarn test
- - Jalankan testsyarn test:watch
- - Jalankan tests dalam watch mode
Demo:
- yarn dev - Mulai aplikasi demoyarn build
- - Build aplikasi demoyarn preview
- - Preview production buildyarn lint
- - Jalankan ESLintyarn lint:fix
- - Perbaiki error ESLint
Build library:
`bash`
yarn build
Ini akan menghasilkan:
- dist/pesona-ui.es.js - ES moduledist/pesona-ui.cjs.js
- - CommonJS moduledist/pesona-ui.css
- - Compiled stylesdist/index.d.ts
- - TypeScript definitions
Override SCSS variables untuk mengkustomisasi tampilan:
`scss`
// Custom styles Anda
@use 'pesona-ui/src/styles/variables' as vars with (
$primary-color: #your-color,
$font-family: 'Your Font'
);
Semua komponen menerima prop className untuk custom styling:
`tsx``
- React 18+ - UI library
- TypeScript - Type safety
- Vite - Build tool
- SCSS - Styling
- ESLint - Code linting
- Prettier - Code formatting
- Vitest - Testing framework
Aplikasi demo menampilkan:
- Galeri komponen dengan contoh live
- Contoh validasi form
- Tabel data dengan sorting dan filtering
- Fungsionalitas drag and drop
- Alur autentikasi
- Role-based access control (RBAC)
- Switching tema Dark/Light
- Dukungan multi-bahasa
- Layout responsive
Kontribusi sangat diterima! Silakan submit Pull Request.
MIT
Jika Anda menemukan bug atau memiliki pertanyaan, silakan buat issue di repository ini.