Shadcn UI - Bangun UI Cantik & Aksesibel dengan Tailwind CSS!

Shadcn UI - Bangun UI Cantik & Aksesibel dengan Tailwind CSS!

shadcn uitailwind cssreactNext.jsuifront-endopen-source
Akhmad Salafudin on 24 Apr 2024

Bosan dengan UI yang gitu-gitu aja? Pengen bikin UI yang keren dan mudah diakses? Coba Shadcn UI!

Shadcn UI bukan sekadar perpustakaan komponen biasa, tapi alat ampuh untuk membangun UI modular dan fleksibel di React dan Next.js. Komponennya dirancang dengan indah, mudah diakses, dan bisa disesuaikan dengan kebutuhanmu.

Selain di React, terdapat juga unnoficial Shadcn UI yang di porting ke framework/librari lain seperti Svelte dan Vue

Apa Keunggulan Shadcn UI?

  • Komponen Composable: Bangun UI dengan mudah dan fleksibel, seperti LEGO!
  • Gaya Tailwind CSS: Ubah tampilan UI sesuai seleramu dengan Tailwind CSS.
  • Aksesibilitas Terjamin: Semua orang bisa menggunakan aplikasimu!
  • Dapat Disesuaikan: Sesuaikan komponen agar sesuai dengan brand dan preferensimu.
  • Open Source: Bebas berkontribusi dan gunakan Shadcn UI sesukamu!
  • Mudah Digunakan: Cocok untuk pemula karena dokumentasi dan instalasinya mudah.

Instalasi dan Penggunaan Shadcn UI

Ada beberapa contoh instalasi Shadcn UI, tergantung framework/librari yang digunakan. Mari kita ambil contoh instalasi Shadcn UI di framework Next.Js.

Instalasi Shadcn UI di Next.Js

Instal Next.JS

Pertama, buat project Next.JS baru dengan menggunakan create-next-app

npx create-next-app@latest my-app --typescript --tailwind --eslint

CLI

Gunakan CLI, jalankan shadcn-ui perintah init

npx shadcn-ui@latest init

Akan muncul beberapa pertanyaan untuk konfigurasi components.json

Which style would you like to use? › Default
Which color would you like to use as base color? › Slate
Do you want to use CSS variables for colors? › no / yes

Struktur folder

Berikut tampilan struktur folder Shadcn UI jika kita install di framework Next.Js

.
├── app
│   ├── layout.tsx
│   └── page.tsx
├── components
│   ├── ui
│   │   ├── alert-dialog.tsx
│   │   ├── button.tsx
│   │   ├── dropdown-menu.tsx
│   │   └── ...
│   ├── main-nav.tsx
│   ├── page-header.tsx
│   └── ...
├── lib
│   └── utils.ts
├── styles
│   └── globals.css
├── next.config.js
├── package.json
├── postcss.config.js
├── tailwind.config.js
└── tsconfig.json

Install Component Shadcn UI

Nah, sekarang bagian yang seru. Berbeda dengan librari UI lainnya, kita tidak mengimpor component dari node_modules melainkan kita install kode component yang kita inginkan langsung ke folder lokal kita. Misal kita ingin menambah component Button, maka jalankan perintah berikut:

npx shadcn-ui@latest add button

Button component akan langsung ditambahkan ke folder components/ui di folder app kita. Dengan begitu kita dapat dengan mudah meng-custom component Button yang kita tambahkan tadi. Selanjutnya, tinggal kita impor component tersebut seperti biasa ke halaman yang kita buat.

import { Button } from "@/components/ui/button"

export default function Home() {
  return (
    <div>
      <Button>Click me</Button>
    </div>
  )
}

Catatan: dalam contoh kode di atas, kita menggunakan alias import

Gampang kan?

Shadcn UI masih banyak fitur keren lainnya. Kunjungi website Shadcn UI untuk informasi lebih lengkap: https://ui.shadcn.com/

Block

Shadcn UI juga menyediakan kode template yang dinamakan block. Kalian dapat menggunakannya dengan cara copy dan paste. Silakan kunjungi halaman blocks untuk melihat semua template yang disediakan.

Lift Mode

Aktifkan lift Mode untuk copy kode per-component yang kalian inginkan seperti terlihat pada gambar berikut

block

Yuk, ciptakan UI yang keren dan mudah diakses dengan Shadcn UI!

Diskusi (0)

Silakan Login untuk berdiskusi