Skip to content

Every component

Live, from distinctui.css. The markup for each is in components.md.

Colour

black#000000
grey-800#262626 · body in cards
grey-600#6b6b6b · secondary text
grey-400#a3a3a3 · placeholders
grey-200#e5e5e5 · hairlines
grey-100#f2f2f2 · fills
grey-50#fafafa · notes
white#ffffff
signatureyours · the mark only

Five ring palettes

Everything stays black, white and grey. When every person or project gets a ring, give each one a colour from a single palette. Mzansi is the South African flag set Version One uses, with the meanings its builders pick from.

Signal

Bright, digital, neutral. The default.

dui-palette-signal
CobaltVermilionVioletMarigoldBlack

Mzansi

The South African flag, as Version One uses it.

dui-palette-mzansi
Red · LeapBlue · HorizonGold · ValueGreen · RootsBlack · Ubuntu

Earth

Warm, handmade, grounded.

dui-palette-earth
TerracottaOchreClayIndigoBlack

Coast

Fresh, open, outdoors.

dui-palette-coast
OceanCoralTealSandBlack

Jacaranda

Playful, loud, city.

dui-palette-jacaranda
PurpleMagentaSkySunsetBlack

Type

hero 76Before everyone
h1 54Naledi is building Spaza Stock
h2 48Just shipped
h3 26Lift Club
h4 20Start a club
lede 18Meet them. Try what they shipped.
body 16Shared school lifts for parents in the same suburb.
meta 14Thandi Mokoena · v0.3 · 12 Oct
eyebrow 13Builder of the week

Shape and space

pill
input 14
panel 16
card 22
menu 24
feature 28

Space runs on 4px: 4, 8, 12, 16, 20, 24, 32, 40, 56, 80, 112. Sections sit 80px apart on phones and 112px on desktop. The only shadow is on floating menus.

Buttons

One black pill per group. The count only shows things waiting on this person.

Badges

LiveBetaIdeaFeaturedv0.3v1.0

Outline for status, solid for one highlight, soft grey for versions.

Forms

Two things to fix before this can go out.

  • Project name: add a name, up to 40 characters.
  • Link: add a link that starts with https://.

Add a name, up to 40 characters.

63/70

Errors are black and bold with a small "!" disc. Ticks start unticked. Mark what's optional.

Cards

Hover turns the border black. No lift, no shadow.

Signature mark

ND ND v1.0

Three fillings: empty (a seat nobody has taken yet, grey and dashed), initials, or a photo. Each one dashed until it's live, solid once it ships.

NDv0.1 NDv1.0 LJ DM

Not live (dashed), live (solid), an earned dot in someone else's colour, a person with no signature of their own (thin black), a group (double black).

TM TM v0.3 v0.3

Sizes: 20 in the logo, 36 in a card, 64 in a list, 108 in a faces row, 152 on a profile.

A B C D

If every person in your product gets a colour, keep the set to five or fewer, saturated and easy to tell apart. Still only on marks.

Notices

You're signed in as naledi@example.com.

+

Your launches show up here once they're live.

Share your first one

Motion

Quick and quiet. Add distinctui.js and these work from attributes. Everything lands still for people who turn motion off.

dur-fast120ms · press, hover
dur200ms · tabs, menus, fields
dur-slow480ms · reveals, rings drawing in
dur-live700ms · dashed to solid
easecubic-bezier(0.2, 0, 0, 1) · settle
ease-popcubic-bezier(0.3, 1.5, 0.5, 1) · going live only
Goes live
v1.0

The day it ships, the dashed ring turns solid with one small pop.

Draws in

Rings sweep round once when they first come into view.

Counts up
128

Numbers count up once when seen. Press a pill and it sinks a little.

Taxi Fare

Live · v1.2

Spaza Stock

Beta · v0.4

Lift Club

Live · v2.0

Filter tabs: data-filter on the tabs, data-tags on the items. What stays settles back in.

Page furniture

  1. Docs
  2. Start
  3. Import your list

Breadcrumbs, when pages nest three deep or more. The page you're on isn't a link.

  1. Bag
  2. Delivery
  3. Pay

Steps through a flow. Done and current are black.

Page numbers are pills. The current one is black.

A side menu for docs and help: the current page is bold with a black edge.

Tables, questions and code

ItemQtyPrice
Speckled mug2R640
Side plates, pair1R420
TotalR1,060

A black line under the header, hairlines between rows, numbers on the right. No stripes.

Does it work offline?

Yes. Counts save on the phone and sync later.

Can I pay in cash?

Not yet.

npx skills add VenusOne-Lee/distinctui

Code people copy sits in a grey panel and scrolls sideways rather than wrapping.

Switches, chips and faces

A switch saves straight away. Consent is never a switch: it's an unticked box, one per purpose.

Filters that are on. Press one to remove it.

and 12 more

Who else is here. Five faces at most, then say how many more.

Loading shapes, only after 300ms, in the shape of what's coming.

Delete Lift Club?

Its page and its 14 versions go for good.

A dialog only for a question that must be answered first. The veil behind is white, never dark.

Icons

searcharrow-rightarrow-leftcheckxplusminusmailmessagemap-pinclocklockbagtruckcopyexternaldownloadrefreshhomebellsettingsusercalendarphoneplay

Lucide outlines in icons.svg, drawn in the text colour, next to a word. Never filled, never coloured.