Jump to a page

Search the pages of the app and open one.

ไทย

Design system

The tokens and the components every screen is built from. Foundations measures each colour pair live, so a change to the theme shows in the numbers.

Colour roles

Each pair is measured from the colours the browser computed for its tokens, light and dark side by side, so a theme change shows in the numbers. Text needs 4.5:1 (WCAG AA); 7:1 is AAA.

Text pairs, both themesMeasuring…

Muted text on a muted fill is held to 4.35:1, the owner's call of Nov 4, 2026, rather than 4.5.

Page
--background / --foreground
Light
Measuring…
Dark
Measuring…
Card
--card / --card-foreground
Light
Measuring…
Dark
Measuring…
Popover and menu
--popover / --popover-foreground
Light
Measuring…
Dark
Measuring…
Primary
--primary / --primary-foreground
Light
Measuring…
Dark
Measuring…
Secondary
--secondary / --secondary-foreground
Light
Measuring…
Dark
Measuring…
Muted
--muted / --muted-foreground
Light
Measuring…
Dark
Measuring…
Accent and hover
--accent / --accent-foreground
Light
Measuring…
Dark
Measuring…
Muted text on the page
--background / --muted-foreground
Light
Measuring…
Dark
Measuring…
Link on the page
--background / --primary
Light
Measuring…
Dark
Measuring…
Destructive on the page
--background / --destructive
Light
Measuring…
Dark
Measuring…
Sidebar
--sidebar / --sidebar-foreground
Light
Measuring…
Dark
Measuring…
Sidebar, current page
--sidebar-primary / --sidebar-primary-foreground
Light
Measuring…
Dark
Measuring…
Sidebar, hovered
--sidebar-accent / --sidebar-accent-foreground
Light
Measuring…
Dark
Measuring…

Lines and focus

Swatches only: these are lines, not text.

Border--border
Light
Dark
Input border--input
Light
Dark
Focus ring--ring
Light
Dark
Sidebar border--sidebar-border
Light
Dark

Status tones

A status chip's text on its tone, over a card. In dark a tone is a glaze over what lies beneath it, so it is measured blended.

Pending
--tone-pending / --tone-pending-foreground
Light
Measuring…
Dark
Measuring…
Active
--tone-active / --tone-active-foreground
Light
Measuring…
Dark
Measuring…
Review
--tone-review / --tone-review-foreground
Light
Measuring…
Dark
Measuring…
Success
--tone-success / --tone-success-foreground
Light
Measuring…
Dark
Measuring…
Danger
--tone-danger / --tone-danger-foreground
Light
Measuring…
Dark
Measuring…
Violet
--tone-violet / --tone-violet-foreground
Light
Measuring…
Dark
Measuring…
Neutral
--tone-neutral / --tone-neutral-foreground
Light
Measuring…
Dark
Measuring…

Chart palette

Each mark against a card, which needs 3:1 to be told apart. A slot under it is why every chart keeps its table view.

Categorical, in a fixed order

Slot 1--chart-1
Light
Measuring…
Dark
Measuring…
Slot 2--chart-2
Light
Measuring…
Dark
Measuring…
Slot 3--chart-3
Light
Measuring…
Dark
Measuring…
Slot 4--chart-4
Light
Measuring…
Dark
Measuring…
Slot 5--chart-5
Light
Measuring…
Dark
Measuring…

Ordinal, for a sequence such as a Deal's Stage

Step 1--chart-step-1
Light
Measuring…
Dark
Measuring…
Step 2--chart-step-2
Light
Measuring…
Dark
Measuring…
Step 3--chart-step-3
Light
Measuring…
Dark
Measuring…
Step 4--chart-step-4
Light
Measuring…
Dark
Measuring…

Type scale

Tailwind's scale, read from the page: size and line height. Each row in English and in Thai, whose marks above and below the line need the height.

  • text-3xlMeasuring…Display
    English

    Siam Paper confirmed order SO-2026-0148

    Thai

    ฝ่ายจัดซื้อยืนยันใบสั่งขาย SO-2026-0148 แล้ว

  • text-2xlMeasuring…Page titles, key figures
    English

    Siam Paper confirmed order SO-2026-0148

    Thai

    ฝ่ายจัดซื้อยืนยันใบสั่งขาย SO-2026-0148 แล้ว

  • text-xlMeasuring…A record's figures
    English

    Siam Paper confirmed order SO-2026-0148

    Thai

    ฝ่ายจัดซื้อยืนยันใบสั่งขาย SO-2026-0148 แล้ว

  • text-lgMeasuring…Section headings
    English

    Siam Paper confirmed order SO-2026-0148

    Thai

    ฝ่ายจัดซื้อยืนยันใบสั่งขาย SO-2026-0148 แล้ว

  • text-baseMeasuring…Running text, card titles
    English

    Siam Paper confirmed order SO-2026-0148

    Thai

    ฝ่ายจัดซื้อยืนยันใบสั่งขาย SO-2026-0148 แล้ว

  • text-smMeasuring…Tables, forms, cards and menus: the UI's default
    English

    Siam Paper confirmed order SO-2026-0148

    Thai

    ฝ่ายจัดซื้อยืนยันใบสั่งขาย SO-2026-0148 แล้ว

  • text-xsMeasuring…Badges, captions, hints
    English

    Siam Paper confirmed order SO-2026-0148

    Thai

    ฝ่ายจัดซื้อยืนยันใบสั่งขาย SO-2026-0148 แล้ว

Running text

Kun Kode, Former Dev sells office and packaging supplies to companies across Thailand. This paragraph runs to reading length, so that line height and line length can be judged in both scripts.

Numbers and dates

Money
฿1,284,500.00
Percent
+12.4%
Date
Oct 28, 2026
Date and time
Oct 28, 2026, 9:30 AM

Spacing

Tailwind's 4 px step. The gap says how closely two things belong together.

gap-1.5
Measuring…
Inside a component: an icon and its word
gap-2
Measuring…
Related items: buttons in a row
gap-4
Measuring…
A section's parts, cards in a grid, a card's padding
gap-6
Measuring…
Between a page's blocks

Corner radius

One --radius, and steps scaled from it, so changing it moves every corner together.

  • rounded-smMeasuring…Keyboard keys, tooltips
  • rounded-mdMeasuring…Menu items, skeletons
  • rounded-lgMeasuring…Buttons, inputs, menus, alerts
  • rounded-xlMeasuring…Cards and dialogs
  • rounded-4xlMeasuring…Badges
  • rounded-fullAvatars

Shadow and elevation

Flat by default: a card is a hairline ring, not a shadow. Shadow is for what floats above the page.

  • ring-1Cards: a hairline ring
  • shadow-smThe inset page, the floating sidebar
  • shadow-mdMenus, select lists
  • shadow-lgSheets, submenus
  • shadow-xlChart tooltips
← KunKode