Kamus Design System FE
Referensi visual lengkap — semua komponen, warna, tipografi, dan pattern yang dipakai di Dashboard PLN UPT Bogor.
CSS Color Tokens
Warna dari var(--nama) di globals.css — berubah otomatis sesuai theme.
var(--background)Warna dasar halamanvar(--foreground)Warna teks utamavar(--card)Background kartuvar(--primary)Warna aksen utama (tombol, link)var(--secondary)Warna aksen sekundervar(--muted)Background elemen subtlevar(--muted-foreground)Teks sekunder/redupvar(--accent)Background hover sidebar/menuvar(--destructive)Warna bahaya/error (merah)var(--border)Garis pembatas elemenvar(--ring)Outline focus elemen interaktifStatus Colors — Healthy Index
5 warna status dari design-tokens.ts. Hanya untuk DATA, bukan dekorasi.
Chart Palette
5 warna untuk data visualisasi (bukan status). Mudah dibedakan satu sama lain.
Structural — Judul, Label, Body
ds-headingds-titleds-labelds-bodyds-smallds-smallData — Angka, KPI, Badge
Semua pakai font-mono + tabular-nums supaya angka rata dan sejajar.
ds-kpids-datads-datads-overlayTabular Nums — Kenapa Penting
Dengan tabular-nums, semua digit punya lebar sama. Kolom angka jadi rata sempurna.
Button
Import: import { Button } from "@/components/ui/button"
Custom Buttons — cc-btn
Class: cc-btn cc-btn-primary dan cc-btn cc-btn-secondary — dipakai di Cloud Console pages.
Badge
Import: import { Badge } from "@/components/ui/badge"
Card — Stripe Elevated
Card dengan subtle shadow. Hover untuk lihat efek elevation naik.
Input, Switch, Progress
Skeleton — Loading State
Placeholder saat data belum dimuat. Animasi pulse memberi kesan "sedang loading".
Table
Import: import { Table, TableHeader, TableRow, ... } from "@/components/ui/table"
| No | Gardu Induk | MTU | Total | Status |
|---|---|---|---|---|
| 1 | Cibinong | TRAFO | 245 | Very Good |
| 2 | Depok Baru | PMT | 182 | Good |
| 3 | Gunung Putri | KOPEL | 67 | Fair |
Tabs
Cross Filter Demo — Klik untuk Toggle
Transition Speeds
Hover tiap box untuk lihat perbedaan kecepatan transisi.
ds-transition-fast150msds-transition200msds-transition-slow300msElevation / Shadow Levels
Semakin tinggi elevation = semakin penting/interaktif.
Grid — Responsive Columns
grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 — kolom berubah sesuai lebar layar.
Flex — Justify & Align
flex items-center justify-betweenflex items-baseline gap-2flex flex-col gap-1Spacing Scale — Gap & Padding
Tailwind spacing: gap-1 = 4px, gap-2 = 8px, gap-3 = 12px, gap-4 = 16px
gap-14pxgap-28pxgap-312pxgap-416pxgap-624pxResponsive Breakpoints
| Prefix | Min Width | Device | Contoh |
|---|---|---|---|
(none) | < 640px | HP portrait | grid-cols-2 |
sm: | 640px | HP landscape | sm:grid-cols-3 |
md: | 768px | Tablet | md:grid-cols-4 |
lg: | 1024px | Laptop | lg:grid-cols-5 |
xl: | 1280px | Desktop | xl:grid-cols-6 |
Segmented Bar (Critical Ratio)
Bar horizontal terpotong sesuai proporsi. Setiap segment menampilkan persentase.
Stacked Horizontal Bar (Per ULTG)
Setiap baris = 1 ULTG. Segment di-stack horizontal.
Donut Chart (ECharts)
Rendered oleh ECharts di <canvas>. Config di design-tokens.ts.
Config: innerRadius: "44%" · outerRadius: "78%"·padAngle: 2 · borderRadius: 6
KPI Card with Progress Bar
Pattern: left accent + label + angka + thin progress bar.
3-Layer Architecture
src/components/ui/Komponen structural — Card, Button, Table, Badge, dll. Foundation.
src/app/globals.cssTypography classes + color tokens. Theme-aware via CSS variables.
_components/design-tokens.tsECharts canvas values — hex colors, px sizes. Canvas tidak bisa pakai CSS var.
ECharts Canvas Tokens
ECharts render ke <canvas> — tidak bisa pakai CSS variables. Maka warna disimpan di ECHART_COLORS dan ECHART_FONT.
textLabel, axis#CBD5E1textStrongEmphasis#F8FAFCtextMutedSecondary#94A3B8cardBgDonut border (oklch 0.2435)#3B3B3BtooltipBgTooltiprgba(15,23,42,0.96)label12pxAxis, legendtooltip12pxTooltip bodydata14pxData labelstitle16pxChart titlekpi18pxCentre donuthero28pxLarge KPIFile Reference
src/app/globals.cssCSS variables, ds-* classes, card styles, transitionssrc/components/ui/shadcn/ui components — Card, Button, Table, Badge, dll_components/design-tokens.tsCOLORS, ECHART_COLORS, ECHART_FONT, CHART presetstailwind.config.tsTailwind config — font family, extended theme