- Foto4,2 GB
- Video5,1 GB
- Dokumen1,4 GB
- Lain-lain0,6 GB
- Kosong3,7 GB
- Plastik182,4 kg
- Kertas146,2 kg
- Residu100,0 kg
- Beroperasi58%
- Perawatan17%
- Menganggur25%
Satu bilah yang memecah satu keseluruhan menjadi bagian-bagiannya: 15 GB penyimpanan yang terisi foto, video, dan dokumen; atau berat material yang terkumpul bulan ini.
Ini bukan progres sebuah pekerjaan — untuk itu pakai Progress. Yang digambar di sini adalah komposisi: satu angka yang terdiri dari beberapa angka lain.
max bila keseluruhannya adalah batas yang diketahui — kuota 15 GB, kapasitas 12 armada. Sisa yang belum terpakai ikut digambar dan ikut terbaca. Bagian yang tidak memilih warna mendapat warna berikutnya dari rotasi primary → success → warning → neutral. danger tidak ikut rotasi — sama seperti auto pada Avatar — karena potongan merah terbaca sebagai ada yang salah dengan bagian itu, bukan sebagai warnanya. Bagian yang memang masalah, seperti residu atau material tertolak, memintanya sendiri lewat color="danger".
Bilahnya sendiri aria-hidden: seluruh angkanya ditulis sebagai teks di daftar bawahnya, jadi warna tidak pernah menjadi satu-satunya cara membacanya. Itu juga sebabnya daftar itu tetap ada — sebagai sr-only — ketika legend dimatikan.
Bagian tanpa valueText menuliskan porsinya dalam persen, bukan nilai mentahnya. Itu bukan pilihan gaya: komponen di library ini tidak memformat angka (aturan yang sama berlaku untuk StatCard dan Progress), dan nilai mentah membuka dua lubang sekaligus — 15 − (4,2 + 5,1 + 1,4 + 0,6) menghasilkan 3.6999999999999993 dalam bilangan pecahan biner, dan titik desimalnya salah untuk pembaca Indonesia. Persen yang dibulatkan adalah satu-satunya angka yang bisa ditulis komponen ini tanpa menebak.
Jadi kirim valueText (dan remainderText) berisi angka yang sudah diformat aplikasi, dan value sebagai angka untuk lebar bilahnya.
| Prop | Tipe | Default | Keterangan |
|---|---|---|---|
| segments | W4cProgressGroupSegment[] | [] | Bagian-bagiannya. Tiap bagian menerima value, label, color, dan valueText sendiri. |
| max | number | — | Keseluruhan yang dibagi. Tanpa ini, keseluruhannya adalah jumlah bagiannya — bilahnya selalu penuh dan yang terbaca hanya perbandingannya. |
| size | 'sm' | 'md' | 'lg' | 'md' | Tinggi bilah: 4, 6, atau 10 piksel. Sama seperti Progress. |
| label | string | 'Komposisi' | Nama keseluruhannya, ditulis di atas bilah dan menjadi nama daftar bagiannya. Ganti dengan apa yang sebenarnya dibagi: "Penyimpanan", "Kuota bulan ini". |
| value-text | string | — | Teks di kanan atas bilah, misalnya "11,3 dari 15 GB". Format angkanya di aplikasi. |
| legend | boolean | true | Menggambar daftar bagiannya di bawah bilah. Dimatikan pun daftarnya tetap ada untuk pembaca layar. |
| remainder-label | string | 'Sisa' | Nama bagian yang belum terpakai, muncul bila max lebih besar dari jumlah bagiannya. |
| remainder-text | string | — | Teks untuk bagian yang belum terpakai, misalnya "3,7 GB". Tanpa ini yang ditulis adalah porsinya dalam persen. |
Angka diformat di aplikasi, bukan di komponen: kirim value sebagai angka untuk lebar bilahnya, dan valueText sebagai teks yang dibaca orang.