Spacing & kerapatan
Skala 4px, tiga tinggi kontrol yang sejajar antar komponen, dan alasan semuanya dirapatkan satu langkah.
Skala 4px
Semua jarak adalah kelipatan 4px, dengan setengah langkah (2px) untuk hal yang paling rapat. Angkanya sama dengan skala bawaan Tailwind, jadi p-3 di halaman aplikasi berarti hal yang sama dengan p-3 di dalam komponen.
0.52pxJarak ikon ke tepinya sendiri14pxJarak paling rapat: badge, penanda1.56pxIsi tombol sm, baris menu rapat28pxJarak antar kontrol sebaris2.510pxIsi tombol md, jarak ikon ke teks312pxIsi kartu sm, jarak antar field3.514pxIsi kartu md (bersama p-4 di sm ke atas)416pxIsi panel, jarak antar blok520pxIsi kartu lg624pxJarak antar section di dalam satu panelTiga tinggi kontrol
Setiap kontrol yang bisa diklik atau diisi punya tiga ukuran, dan ukuran yang sama selalu setinggi yang sama — tombol, input, select, tombol salin, dan avatar bisa berdiri sebaris tanpa ada yang menonjol setengah piksel.
size="sm" · 28px · h-7size="md" · 34px · h-8.5size="lg" · 40px · h-10sm untuk toolbar dan baris tabel, md untuk hampir semua hal, dan lg untuk aksi tunggal di halaman yang lapang — formulir pendaftaran, misalnya.
<!-- Tinggi kontrol datang dari prop size, bukan dari class.
Tiga ukuran ini sejajar antar komponen: tombol md, input md,
select md, dan avatar md semuanya 34px. -->
<W4cButton size="md">Simpan</W4cButton>
<W4cFormInput size="md" />
<W4cAvatar size="md" name="Rini Hartati" />Kenapa rapat
Padding dan jarak seluruh komponen pernah diturunkan satu langkah sekaligus (#063): kartu dari p-5 menjadi p-3.5, baris menu dari 40px menjadi 32px, judul kartu dari 16px menjadi 14px. Tinggi kontrol tidak berubah.
Alasannya bukan selera. Aplikasi W4C adalah layar kerja: satu halaman pickup memuat tabel, filter, ringkasan, dan riwayat sekaligus. Ruang kosong yang lega membuat setiap halaman butuh digulir dua kali lebih jauh, dan membuat antarmuka terasa seperti contoh template, bukan alat kerja.
- Jarak di dalam satu blok: 2–10px.
- Jarak antar blok di satu panel: 12–16px.
- Jarak antar section besar di halaman: 24px ke atas — itu pekerjaan halaman, bukan komponen.
- Halaman mengatur tata letak lewat
classpada komponen (margin, lebar, posisi). Isi komponen tidak pernah diatur dari luar.