gglc-ui

Fallback ke shadcn

Registry ini belum lengkap — dan tidak perlu lengkap. Komponen shadcn yang belum diport tetap keluar on-brand tanpa disunting.

Janjinya

Baru 7 komponen yang diport ke glc-ui. Butuh combobox, data table, dialog, atau apa pun yang belum ada? Ambil dari hulu:

npx shadcn@latest add combobox

Hasilnya keluar dengan indigo Company Books, radius 10, di atas ramp netral yang sama, dan ikut berpindah saat tema gelap dinyalakan — tanpa satu baris pun kamu sunting.

Buktinya

Dua komponen di bawah ini bukan milik glc-ui. Keduanya ditarik apa adanya dengan `npx shadcn@latest add alert switch` dan tidak pernah disentuh.

Nyalakan tema gelap di pojok kanan atas. Keduanya ikut berpindah bersama seluruh halaman.

Cara kerjanya

Komponen shadcn mengonsumsi sekumpulan variabel CSS semantik yang sudah baku: --background, --primary, --border, --ring, --radius, --sidebar-*, dan seterusnya.

Sistem desain Company Books kebetulan juga dibangun di atas fondasi Tailwind v4 dan shadcn, hanya saja menamai tokennya sendiri. Berkas theme.css memetakan satu ke yang lain sebagai referensi var() yang hidup — bukan salinan nilai.

Karena itu referensi, bukan salinan, tema gelap cukup mendefinisikan ulang lapis GLC saja dan seluruh variabel shadcn ikut ter-resolusi ulang sendiri. Uraian lengkapnya ada di Theming.

Kapan perlu diport

Fallback menangani warna, radius, dan tema. Yang tidak ditanganinya adalah geometri. Port sebuah komponen kalau berkas Figma menetapkan sesuatu yang berbeda dari default shadcn:

  • tinggi kontrol yang berbeda — tombol glc-ui memakai 24/28/32/36, shadcn memakai 32/36/40
  • kulit varian yang berbeda — destructive di sini adalah tint merah, bukan isian merah solid
  • varian tambahan yang tidak dipunyai shadcn
  • perilaku khusus akuntansi, misalnya figur tabular

Kalau tidak ada satu pun yang berlaku, biarkan saja pakai versi hulu. Komponen yang tidak diport adalah komponen yang tidak perlu dirawat.

Batasnya

Yang tidak dijamin

Fallback menjamin tampilan, bukan ukuran. Sebuah tombol shadcn di samping tombol glc-ui akan sewarna, tapi tingginya 36 lawan 32. Kalau keduanya berdampingan dalam satu baris, itu terlihat. Di situlah porting jadi perlu.

Konsekuensinya praktis: aman mencampur komponen hulu dan glc-ui di layar yang sama, tapi hati-hati mencampurnya dalam satu toolbar atau satu baris form.