Components

Icon

Every drawing of the app on one grid, in the colour of the text around it. Sized by token: in a line, in a table, in the sidebar, large.

Size
s
t
nav
l
Read aloud
with label
decoration
Sidebar and pages
home
board
box
users
stock
flask
truck
clock
team
chat
Actions and marks
dotf
pen
undo
sliders
building
logout
short
draft
dot
wait
search
plus
filter
down
arrowDown
columns
rows
grid
pin
x
check
more
warn
lock
unlock
cal
print
trash
sun
moon
clipboard
cart
copy
factory
file
Product shapes
bottle
jar
tub
pouch
sachet
box
bag
can
bar
tray
The 14 allergens
al_celery
al_gluten
al_crustaceans
al_eggs
al_fish
al_lupin
al_milk
al_molluscs
al_mustard
al_nuts
al_peanuts
al_sesame
al_soy
al_sulphites

Chevron

The one arrow. Inside a fold button it follows aria-expanded: open points down, folded points right. Back and forward are the same arrow turned.

Turn
down
right
up
left
In a fold button
open
folded

Spinner

The turning mark for something that is busy. It stands still when the person asks for less motion.

Size
s
m

KeyChip

A key name in a hint line or after a button. The key words come in from the screen.

Chip
Tab
single
TabacceptsEsccloses
in a hint
Hint
after a button

Tooltip

A short tip on hover and on keyboard focus, closed with Esc. A disabled control stays focusable, so its tip can say why.

On a button
default (hover or Tab to see)
Print the pick list
shown
Print the pick list
below
On a disabled control
Allocate stock first: this run has no batch yet
disabled
Long text
Stock on hand minus what is promised to open orders, counted in consumer units until the next stock take.
wraps

ColourDot

The colour of a product or material, one of the look's 24 palette colours (8 hues, 3 shades). No colour is an empty ring: automatic.

Size
s
m
l
Automatic
none
Palette
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

Stack

Children one under the other, a spacing token apart. Screens use it instead of writing their own spacing.

gap none
default
gap s1
default
gap s2
default
gap s3
default
gap s4
default
gap s5
default
Align
start
center
end
stretch
As a list
  • Spelt flour
  • Cane sugar
ul

Inline

Children side by side, a token apart. It can wrap, align and spread, so a toolbar needs no CSS.

gap none
default
gap s1
default
gap s2
default
gap s3
default
gap s4
default
gap s5
default
Justify
start
center
end
between
Wrap
wrap
Spacer
pushes Save to the end

Grid

Children in equal columns, or as many columns as fit. The gap is a token.

Columns
2 columns
3 columns
4 columns
Fits itself
min s
min m
min l
Gap
s1
s3
s5

VisuallyHidden

Words only a screen reader gets, such as the name of an icon-only button. Tab to the button to see the tip.

Icon button
reads as 'Remove line'

Button

One click acts. Primary acts, quiet is everyday, line sits in a toolbar, danger takes away, arm marks.

Primary
default
hover
focus
active
disabled
loading
Quiet
default
hover
focus
active
disabled
loading
Line
default
hover
focus
active
disabled
loading
Danger
default
hover
focus
active
disabled
loading
Arm
default
hover
focus
active
disabled
loading
Row size
quiet
primary
disabled
Icon only
primary
quiet
row
disabled

IconButton

A round button that is one icon: remove a row, open a menu, step a calendar. On or marked when the setup differs.

Size m
default
hover
focus
active
disabled
Size s (inside a field)
default
hover
focus
active
disabled
Toggle and mark
pressed
not pressed
marked

SplitButton

The usual start with a chevron beside it that opens the other starts (new order, new run, new batch).

Main part
default
hover
focus
active
disabled
Chevron part
open
hover
focus
active

TitleButton

A column title that folds its part. The word is the control; warn marks a part that needs a look.

Normal
open
folded
hover
focus
active
Warn
open
folded
hover
focus
active

ToggleWord

The word is the switch. On it reads as a link; off it is quiet with a tangerine strike.

On / off (click them)
on
off
On
default
hover
focus
active
disabled
Off
default
hover
focus
active
disabled

AddRow

The quiet row at the foot of a list that adds one more. As a picker the field sits inside it: type to filter.

Button
default
hover
focus
active
disabled
with hint
Picker (click it and type)
default
focus
disabled

TextButton

Words in the link colour that act: add a line, reset a setup, show all, take a suggestion. Quieter than a Button; hover lays the quiet fill behind it.

Words
default
hover
focus
active
disabled
Uses
reset
show all
suggestion
attach
show all, off

GuardLock

The lock of a guarded field. Shut: one round button. Open: save and lock, or cancel and lock. The shackle swings.

Shut
default
hover
focus
active
disabled
Open
default
focus
try it

Chip

A small rounded label: a link between records, a state, a filter, an allergen. Hover or focus shows the remove x; it is always shown on touch.

Tones
Order 1042
order
Run 217
run
120 in stock
stock
Complete
ok
Check label
warn
Needs a look
mark
Free
free
Suggested: 240
sug
Not started
open
Allergen
Celery: contains
contains
Mustard: may contain
may
Gluten: absent
absent
Soy: to confirm
confirm
Count
12
default
9 / 12
some hidden
Acts (order)
default
hover
focus
active
off (click to turn on)
Filter with x
Soup
try: hover, Tab
Vegan
try: hover, Tab
Soup
hover
Soup
focus
-
empty (all removed)
With icon
Run 217
run
120
stock

StatePill

The stage of an order or a production. Always an icon and a word, never colour alone.

Stages
Open
open
Ready
ready
In production
prod
Done
done

Status

What is wrong or what is next for one thing. Compact form shows an icon and opens its words on hover or focus; as a button it is the next step or a menu.

Tones
Draft
n
All met
ok
Missing 40 kg
warn
No code
danger
To fill
open
Compact
Arrange transport
default
Arrange transport
hover
Arrange transport
focus
3Lines to fill
count
All set
ok
Button
default
hover
focus
active
next step
With tip
No address
hover or Tab

Badge

A small tangerine count on a button or a rail icon.

Counts
3
inline 3
inline 128

Ping

The tangerine ping: a dot that sends one soft pulse when it appears. Calm form stays still; reduced motion stops it.

Dot
default
calm

MarkLine

A small orange-dot note, such as what is missing under the stock figure.

Note
2 pallets missing for Friday
default

Note

One sentence under a group of fields. The locked form says what is shared and cannot be edited here.

Notes

The reorder point is derived from the weekly average.

note

Shared with the maker: change it on the maker page.

locked

Figure

A big number with its unit. Dutch format, at most two decimals.

Figures
1.250,5kg
kg
96CU
CU
3,14kg
two decimals
0CU
zero
42
no unit

Gauge

How much of something there is: a thin bar, a bar of parts, a large bar with figures, or a ring. Parts grow in when first shown.

Line
default
ok
danger
empty
Bar of parts
hard, mid, soft, open
Large
4020
figures inside
Ring
0
65
ok
danger
Ticks
need
reorder, target

GaugeKey

The colour mark of one gauge part beside its name.

Keys
Allocated
hard
Free
mid
In production
soft
Open
miss

MinimumBar

The maker's total minimum: one segment per product with its figure inside, the open rest dashed, a tick at the minimum once it is passed.

Below the minimum
320kgof 500 kg minimumMissing 180 kg
18010040
gap
Passed
620kgof 500 kg minimumAll met
380240
tick
Empty
0kgof 500 kg minimumTo fill
no lines

ShareBar

How much of what is on hand this production uses. Hidden at rest, shown on hover or focus of its row, always on touch; red and full when short.

Row
rest
shown
short

StockLine

The product's stock line: a thin need bar and one figure that says its state.

States
Need 100
missing
80 available
enough
90 in production
in production
No stock
empty

KeyHints

A hint line: each key as a chip, then what it does.

Hints
TabacceptEnteradd lineEscclose
default
empty (shows nothing)

TextInput

One line or a growing text of words. num is figures, title is a page title you can type in, ghost looks like text until touched, echo shows what another field says.

field
default
hover
focus
disabled
empty
error
num
default
focus
disabled
error
title
default
hover
focus
ghost
default
hover
focus
echo
default
txt
default
empty

NumberInput

A quantity as typed: Dutch format, at most two decimals. It refuses in plain words once left, and never changes the figure itself.

CU (whole)
default
focus
grouped
disabled
empty
error
kg (decimals)
default
error

Field

A label, its control, and under it the refusal or warning of that field only. Neither blocks the next field.

Messages
default
empty
error

Another product has this name.

warning

FieldWithUnit

A control with its unit beside it, level.

Unit
default
disabled
error

FieldValueLine

A value that cannot be edited here, with a link, level with the inputs beside it.

Link
default
hover
focus
empty

FieldGroup

A quiet label over the fields that belong together, with a hairline above it.

Group

Dimensions

default

FieldsGrid

Fields in a grid, in reading order, so Tab runs along each row. A wide field crosses every column.

2 columns
default
3 columns, wide
default
4 columns
default

FieldQuestion

An inline question under its field, its answers as buttons. Nothing happens until one is pressed.

Question
Is this a new recipe?
default
empty

Checkbox

A 20 box with its words. Checked it fills with the accent and the tick draws itself in.

Unchecked
default
hover
focus
active
disabled
Checked
default
hover
focus
active
disabled

TogglePill

An on/off choice as a pill (dietary). Warn marks a choice that needs a look.

Off, ok
default
hover
focus
active
disabled
Off, warn
default
hover
focus
active
disabled
On, ok
default
hover
focus
disabled
On, warn
default
hover
focus
disabled
Group
default

DefinitionRow

Label left, value right, a hairline under it. The real field shows as text until the row is hovered or holds focus.

Row
Shelf life
months
default
Shelf life
months
hover
Shelf life
months
focus
Storage
Not filled
empty
Shelf life
error
Shelf life

Shorter than the oldest lot.

warning
Two columns
Min
Max
default
Three columns
A
B
C
default

StepSlider

A few steps on one track: drag the thumb, click the track, or use the keys (arrows step, Home and End jump).

Slider
SizeMedium
default
SizeMedium
hover
SizeMedium
focus
SizeLarge
dragging
SizeSmall
first step
SizeExtra large
last step

FieldWithPicture

A big square Look button, twice a field high, beside a field. The thing's own icon invites a change.

Look
default
hover
focus
active
disabled

DropTarget

A surface that takes a dropped image file: an ultramarine ring and a label while one is over it.

Surface
default
image over it

LedgerCell

A field with its unit beside it and one quiet line under it: the maker ledger's Minimum and Lead time.

Cell
kg
Per order
default
days
no hint
kg
Per order
disabled
kg
Enter a number
error

UnlockRow

Opens under a locked batch: the reason, Keep and Unlock on one line. Unlock waits for a reason.

Row
default
empty

Declaration

The declaration reads as printed, allergens in bold. A click or Tab puts the raw text field in its place.

Declaration

Rolled oats, almonds, milk powder, honey.

default

Rolled oats, almonds, milk powder, honey.

focus

Ingredients, allergens in bold

empty

SegmentedControl

A few choices side by side, one on. Arrow keys move and choose; the group is one Tab stop.

Default (click them)
words
counts
icons
Segment states
hover
focus
active
disabled
Tool (table page head)
default
hover
focus
Size s (beside a title)
default
words

Tabs

A row of tabs in the segmented grammar; the open tab lifted. Arrows and Home/End move and open.

Hug and fill (click them)
hug
fill
Tab states
hover
focus
active
disabled

SearchField

One search box: a magnifier and the words. Esc clears it, Enter submits.

Control size (type in them)
default
filled
hover
focus
disabled
loading
Toolbar size
default
hover
focus
disabled
loading

FilterSearch

One field for search and filter: filters sit in it as chips. Typing suggests values with counts; Enter or Tab makes a chip, Backspace takes the last off.

Live (type, or press the Filter button)
empty
with chip
States
focus
disabled
Open list
open
loading
empty

Menu

The one floating surface for lists of actions: rows with icon and end, a checkbox list, rows that say what they mean. Arrows move, Enter chooses, Esc closes.

Action menu
default
row states
empty
With checkboxes (click them)
default
hover / focus
Pick rows (with their meaning)
default
Current row (one of a few)
default

ChooserPopover

Holds an opener and the surface that opens under it (a Menu, a Picker list, a Calendar). Esc and a press outside close it; it turns above the opener when there is no room below. Static here: the open surface sits in the page.

Closed and open
closed
open
open, end edge

Picker

The shared combobox: type to filter, arrows move, Enter or Tab accepts, Esc closes. A New row adds what was typed.

Live (type in it)
default
with New row
nothing yet
picked
States
hover
focus
disabled
error
Open list
open
filtered
New row
loading
empty

MaterialPicker

Pick a material for a bill: search, two tabs, a New material row, Recent and All, the keys named in the foot. Shift+Enter keeps it open.

Live (press the button)
closed / open
Open
default
packaging tab
empty

SizeSwitch

Two sizes read as the segmented switch; three or more as one segment that opens a menu and shows the current size.

Live (click them)
two sizes
four sizes
Open menu
open

LookPicker

Give a thing its icon and colour: an icon grid and 24 swatches. Every pick applies at once; Automatic goes back.

Live (press the button)
closed / open
Open
picked
automatic

DatePicker

A date field that is also a calendar: type 16, 16-12 or 19-10-2026, or pick a day. Arrows move the day, Enter picks, Esc closes.

Live (type or pick)
filled
empty
Field states
hover
focus
disabled
error
Open
open
Calendar (click a day)
default
min / max
Day states
hover
focus
active

IndexPills

The index of a page's parts as one soft row of pills; the part in view is the lifted one. Left and Right move, Enter goes to the part.

Live (click them)
default
Pill states
hover
focus
active

DataTable

A table whose head and rows come from one column list. Click a head to sort (the arrow shows on the sorted column only), drag a head to move it, drag its edge to resize (double-click fits), pin, hide, choose a density. On a phone it keeps its own layout. Everything here is live: try the keys on a focused head.

Size:Normal
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
7 of 7 columns · Product pinned · normal rowsHead:←+→move·Alt+←+→reorder·Shift+←+→width·Ppin·Hhide
Sorted
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
sorted ascending
Sorted descending
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
sorted descending
Head
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
hover (Brand)
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
focus (Size)
Pinned
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
two pinned, edge shows once scrolled
Hidden columns
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
Brand and Orders hidden
Resized
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
Product 320 px, Brand 200 px
Density
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
comfortable
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
compact
Rows
Tomato soupTS-400ZonnehofActive400 ml1.2406Covered1.240400 ml · Zonnehof
Red lentil dalRD-350ZonnehofActive350 g86,53Short86,5350 g · Zonnehof
Pumpkin chutneyPC-220VeldkruidActive220 g4122Covered412220 g · Veldkruid
Apple butterAB-280VeldkruidDraft280 g00No stock0280 g · Veldkruid
Green pestoGP-180WaterlelieActive180 g23,759Short23,75180 g · Waterlelie
Classic hummusHC-200WaterlelieDiscontinued200 g150No stock15200 g · Waterlelie
selected and quiet (discontinued)
Loading

Loading products

loading
Empty

No products yet

Add the first one, or change the filter.

empty
Error
error

ColumnsMenu

Which columns show, which are pinned, how wide they are. Reset in the title line (dim while the setup is the default), the count and Show all in the foot. Arrows move between rows, Esc closes.

Default
default
row hover
row focus
changed: Reset on, Show all on
Live
click a row; the tick draws in

TableToolbar

Above a table: the Columns button with its count (link colour while some are hidden), the density slider, and Reset with a tangerine dot when the setup differs from the default. The status line sits under the table.

Toolbar
Size:Normal
default
Size:Comfortable
some hidden, setup changed
Size:Normal
hover (Columns)
Size:Normal
focus (Columns)
Size:Normal
open
Density
Size:Normal
live: drag, click or arrows
Size:Compact
hover
Size:Comfortable
focus
Size:Normal
active (name shows)
Status line
7 of 7 columns · Product pinned · normal rowsHead:←+→move·Alt+←+→reorder·Ppin
with key hints
5 of 7 columns · nothing pinned · compact rows
plain

ListRow

One line of a table (row) or of a counted list (item): cells line up by the row's tracks. Clickable rows are one tab stop; Enter or Space opens. A material item can hold a share bar that shows on hover or focus.

Row
ProductBrandSizeFreeOrdersAvailability
head
Tomato soupTS-400Zonnehof400 ml1.2406Covered1.240
default
Tomato soupTS-400Zonnehof400 ml1.2406Covered1.240
hover
Tomato soupTS-400Zonnehof400 ml1.2406Covered1.240
focus
Tomato soupTS-400Zonnehof400 ml1.2406Covered1.240
selected
Tomato soupTS-400Zonnehof400 ml1.2406Covered1.240
quiet
Hover-only action (reveal): shows while the row is hovered or holds focus; always on touch
Tomato soupTS-400Zonnehof400 ml1.2406Short
at rest
Tomato soupTS-400Zonnehof400 ml1.2406Short
hover
Tomato soupTS-400Zonnehof400 ml1.2406Short
focus
Item
Red lentilson hand86,5 kg
default
Tomatoesshort-12,25 kg
short
Olive oillow40 l
covered
Cuminon hand2,5 kg
hover
Garlicon hand8 kg
focus (material item)
Old label stockunused0
quiet

LedgerRow and GridRow

A row of a ledger on a window or part. Flex: cells in a line. Grid: cells line up under a head row, each ledger naming its tracks. Two-line: what it is and one line under it, the action beside both.

Grid
LevelMaterialWeightRecycled
JarGlass, clear182,5 g35 %
LidSteel9 g0 %
Seal1,25 g
head and rows
Flex
Zonnehof RetailLast order 4 days ago
default
clickable
hover
focus
Old accountNo orders for a year
quiet
Hover-only action (reveal)
Short
at rest
Short
hover
Short
focus
Two-line
Tomato soup 400 mlZonnehof · 6 open orders
Covered
default
Short
clickable
hover

CardGrid

The same data as the table, one card per item. Sizes xl l m s xs run 4 to 8 across; the cards glide to their new places when the size changes. Two columns on a phone.

Live
Zonnehof
Tomato soup
400 ml · 6 open orders
Free 1.240
ZonnehofShort
Red lentil dal
350 g · 3 open orders
Free 86,5
Veldkruid
Pumpkin chutney
220 g · 2 open orders
Free 412
Veldkruid
Apple butter
280 g · 0 open orders
Free 0
WaterlelieShort
Green pesto
180 g · 9 open orders
Free 23,75
Waterlelie
Classic hummus
200 g · 0 open orders
Free 15
choose a size
Size xl
Zonnehof
Tomato soup
400 ml · 6 open orders
Free 1.240
ZonnehofShort
Red lentil dal
350 g · 3 open orders
Free 86,5
Veldkruid
Pumpkin chutney
220 g · 2 open orders
Free 412
Veldkruid
Apple butter
280 g · 0 open orders
Free 0
WaterlelieShort
Green pesto
180 g · 9 open orders
Free 23,75
xl
Size xs
Zonnehof
Tomato soup
400 ml · 6 open orders
Free 1.240
ZonnehofShort
Red lentil dal
350 g · 3 open orders
Free 86,5
Veldkruid
Pumpkin chutney
220 g · 2 open orders
Free 412
Veldkruid
Apple butter
280 g · 0 open orders
Free 0
WaterlelieShort
Green pesto
180 g · 9 open orders
Free 23,75
xs
Empty

No products match

Clear a filter to see more.

empty
Loading
Loading
Loading
Loading
loading

Card

One item of a CardGrid: a look tile with the kind and state laid on it, the name (two lines before it cuts), a quiet facts line, a foot. It lifts like the toolbar controls and opens on Enter or Space.

Card
Zonnehof
Tomato soup
400 ml · 6 open orders
Free 1.240
default
ZonnehofShort
Red lentil dal
350 g · 3 open orders
Free 86,5
hover
Veldkruid
Pumpkin chutney
220 g · 2 open orders
Free 412
focus
WaterlelieShort
Green pesto
180 g · 9 open orders
Free 23,75
active
Loading
loading
Pumpkin chutney with roasted spices 220 g, autumn edition
220 g
static (no open)

Tiles

A grid of photo tiles; an empty group is one dashed tile that adds. A thumbnail strip uses the small size.

Photo tiles
tiles
tile hover
tile focus
Add tile
empty group
hover
focus
image dragged over
disabled
Thumbnails
small size

EmptyState

The block in the middle of a table or part when there is nothing to show: empty, busy, or failed. One line on what to do next and one action.

Full

No orders yet

Orders you enter show up here, newest first.

empty

Loading orders

loading
error
Compact

No contacts

empty

Loading

loading
error

AppFrame

The one-window page: rail, one full-width column and an optional window beside it. A record page's head lies on the ground and the white page starts under it; a list page is one white panel.

List page (panel head)
Catalog

Products · 128 shown

default
Record page (head on the ground)
Hazelnut spread 200 g

Code: P-0412

Status: Active

default
With a window beside it

Orders · 12 shown

Het Zoete Hoekje

O-2041
Lines
side window
Rail pinned open

Orders

open

Rail

The sidebar with big icons. Hover or focus opens it over the page; pinned it makes room. While a search has text it stays closed and the search bar floats over the page's edge.

Closed
default
Items
hover
focus
Open
open
Search (type to try; the rail stays closed)

Products · 128 shown

live

PanelHead

The top band of a list page: eyebrow and title at the left, controls at the right, a hairline under it.

Variant

Orders

title only

Products · 128 shown

with count
Catalog

Products · 128 shown

eyebrow and controls

SegmentCard

One group of a specification on a soft ground, no border. It lifts on hover and while it holds focus.

State

Shelf life

Unopened: 12 months

default

Shelf life

Unopened: 12 months

hover

Shelf life

focus

Allergens

Contains: Nuts, milk

with action

Photos

Nothing added yet.

empty

PartWindow

One part of a record on its own surface: a head row (title, count, the part's action) and a grid of cards. Widths: half, two thirds, one third, wide; PartStack puts cards under each other in one cell.

Widths

Specification4 groups

Shelf life

Unopened: 12 months

Storage

Keep: Cool and dry

Ingredients

Declaration: Hazelnuts 38%, sugar, cocoa

Packaging

Jar: 200 g

Weight

Net: 200 g

Dimensions

Height: 9,5 cm

half, half, wide, two thirds + stack
State

Jar

Net: 200 g

closable (title is a button)

Photos

Photos

Nothing added yet.

empty

Section

A hairline group inside a window or card. Its head folds the rows; the chevron follows aria-expanded.

State

Hazelnut spread: 24 jars

open
folded

Hazelnut spread: 24 jars

hover

Hazelnut spread: 24 jars

focus

Contacts

Main: Sanne

not foldable, with action

No documents yet.

empty

WindowHead

The head of a window, two lines: who or what and its code, then the summary and the state. A new thing's head wears its colour; the top line says what kind of thing it is.

Tone, existing

Het Zoete Hoekje

O-2041
Delivery on Friday, 12,5 kgReady
plain

Het Zoete Hoekje

O-2041
Delivery on Friday, 12,5 kgReady
order

Het Zoete Hoekje

O-2041
Delivery on Friday, 12,5 kgReady
run

Het Zoete Hoekje

O-2041
Delivery on Friday, 12,5 kgReady
stock
Tone, new thing

New order

Draft
order

New order

Draft
run

New order

Draft
stock
With Back (multi-step)

Deliver order

O-2041
back

WindowFoot

Status and buttons only; shortcuts live in tooltips. Cancel sits beside Save.

Variant
3 lines, 12,5 kg
status + buttons
buttons only
Saving
saving (loading)
Fix the amount first
disabled
Saved just now
status only

SideWindow

A window beside the page column: head, scrolling body, foot, on its own white surface. Esc inside it closes it.

Tone

Het Zoete Hoekje

O-2041
Delivery on FridayReady
Lines, amounts and dates go here.
3 lines
order

Het Zoete Hoekje

O-2041
Delivery on FridayReady
Lines, amounts and dates go here.
3 lines
run

Het Zoete Hoekje

O-2041
Delivery on FridayReady
Lines, amounts and dates go here.
3 lines
stock
Empty

No order chosen

Choose an order on the board to see it here.
empty

Dialog

A window in the middle of the page over a dim scrim. Esc and the scrim close it, focus stays inside and returns, Back steps back in a multi-step dialog.

Standing in the page
single step
multi-step with Back
Live (scrim, Esc, Tab kept inside)
open it

Toast

One pill: a round icon and the message. With Undo the green check becomes a red X on hover and focus, and a thin line drains over exactly 6 seconds; hover or focus pauses it.

Kind
Order saved
success
error
Copied to clipboard
info
With Undo
Order saved
default
Order saved
hover (paused)
Order saved
focus (paused)
Live host (6 seconds)
try

Celebration

The success mark: a green circle with the logo's contour drawn in and the orange dot popping out. Over a window it adds a short firework; as a seal it stays.

Mode
seal

Order delivered

Client: Het Zoete Hoekje

over (play)

RecordTiles

A tile per part of a record. Drag a tile or press Alt+arrows to reorder; arrows, Home and End move focus. An open tile stays greyed in the grid and its card grows out of it below.

Tile state
default, hover, focus, active, dragging (in this order)
Marks and open
dot, ok, count, open
Live

Shelf life

Unopened: 12 months

After opening: 6 weeks

Drag a tile, or focus one and press Alt with an arrow key.

click, drag, Alt+arrows

Board

The full-width frame of the board: orders, stock and runs side by side; one column; or one column with a side window.

Orders

Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5

Stock

Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5

Runs

Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5

Orders (with a window)

Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5

Window

Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5

Runs (one column)

Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5

BoardColumn

One column of the board: a tinted head with its controls and a scrolling body. Blue orders, green stock, orange runs.

Orders

Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5

Stock

Runs

Orders

No orders yet.

Stock

Nothing on hand.

Runs

No runs planned.

BoardGroup

One stage of a column: a fold head with the stage pill and a count, and under it the rows beside the stage's line.

Stage, open
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
none
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
open
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
ready
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
prod
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
done
Folded, hover, focus
folded
hover
focus
empty

StateLine

The line that runs up the rows of one stage, turns a round corner into the head line and curves into the last row line.

Stage
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
none
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
open
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
ready
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
prod
Tomato soup 500 mlBelow minimum120
Chicken broth 1 lOut0
Lentil stew 400 g1.250,5
done

BoardCard

A batch of stock or a production run you can fill an order line from: its name, how much is used and free, and what you can do with it.

Lot
420 freeBest before 12 jun 2027
default
420 freeBest before 12 jun 2027
hover
420 freeBest before 12 jun 2027
focus
120 of 420Best before 12 jun 2027
selected
420 freeBest before 12 jun 2027
Fewer than promised: 40 CU short
short
420 freeBest before 12 jun 2027On hold
disabled
420 freeBest before 12 jun 2027
loading
Nothing free
empty
Run
300 freeTomato soup 500 ml · ready 4 dec
default
300 freeTomato soup 500 ml · ready 4 dec
hover
300 freeTomato soup 500 ml · ready 4 dec
focus
120 of 300Tomato soup 500 ml · ready 4 dec
selected
300 freeTomato soup 500 ml · ready 4 dec
dragging
Urgency
300 freeTomato soup 500 ml · ready 4 dec
Ready 2 days before the due day
at risk
300 freeTomato soup 500 ml · ready 4 dec
Ready after the due day
late
420 freeBest before 12 jun 2027
This batch is past its best-before day
error

LotLine

One line of the middle column: a product or material, how it stands in words, and how much is free. With head, the column heads over the rows.

Line
ProductFree
head
Lentil stew 400 g1.250,5 CU
default
Lentil stew 400 g1.250,5 CU
hover
Lentil stew 400 g1.250,5 CU
focus
Lentil stew 400 g1.250,5
enough
Tomato soup 500 mlBelow minimum120
below
Chicken broth 1 lOut0
out
Pumpkin soup 500 ml
loading
Pumpkin soup 500 ml
empty

BatchRow

One batch of a product: its code, best-before day and free amount. With head, the column heads.

Row
LotBest beforeFree
head
L2611-A12 jun 2027420
default
L2611-A12 jun 2027420
hover
L2611-A12 jun 2027420
focus
No code3 jul 20270
empty

WeekStrip

The next weeks on one axis: a tangerine line for today, blue dots for orders, orange bars for runs. Items that touch get their own lane.

Calendar

OrdersRuns2 more later

Hover and focus

OrdersRuns

Late

OrdersRuns

Empty

Nothing planned in the next six weeks.

3 more later

RecordSheet

One head, one index, then every part in one continuous scroll: the page of a product, material or company. A part is a SheetPart; the facts can sit in a side rail.

Default

Tomato soup

Soup400 ml jarP-1042

Composition6 ingredients

Tomatoes, onion, basil, cream, salt, rapeseed oil.

Storage

Keep at 2 to 7 degrees Celsius. Shelf life 21 days.

default
Compact

Tomato soup

Soup400 ml jarP-1042

Composition6 ingredients

Tomatoes, onion, basil, cream, salt, rapeseed oil.

Storage

Keep at 2 to 7 degrees Celsius. Shelf life 21 days.

compact (scrolled)
Loading

Tomato soup

Soup400 ml jarP-1042

Composition6 ingredients

Tomatoes, onion, basil, cream, salt, rapeseed oil.

Storage

Keep at 2 to 7 degrees Celsius. Shelf life 21 days.

loading

TargetStock

The reorder point (orange) and the target (blue) on one bar, each with a handle to drag or move with the arrow keys, and two boxes to type in. The scale is a round number of at least 1.5 x the target and only grows.

Default (try it)
On hand 240 CU
01.000
Reorder pointCU
TargetCU
CU
On hand 90 CU
0500
Reorder pointweeks≈ 80 CU
Targetweeks≈ 240 CU
in weeks
Handle
On hand 240 CU
01.000
Reorder pointCU
TargetCU
hover
On hand 240 CU
01.000
Reorder pointCU
TargetCU
focus
On hand 240 CU
01.000
Reorder pointCU
TargetCU
active (dragging)
Other
On hand 900 CU
01.000
Reorder pointCU
TargetCU
on hand past the end (break mark)
On hand 240 CU
01.000
Reorder pointCU
TargetCU
read-only

No reorder point is kept for this product.

empty (switched off)
On hand 240 CU
01.000
Reorder pointCU
TargetCU
error
On hand 240 CU
01.000
Reorder pointCU
TargetCU
loading

LevelChain

Levels of one hierarchy left to right: a picture of each, its editable count under it, the calculation on top. Packaging levels use it; materials pages can too.

Default (try it)

12 CU x 40 cases = 480 CU

CU
Unit1
Case
CU per case
Layer
Cases per layer
Pallet
Cases per pallet
editable
Pictures

6 CU, 12 per case

CU
Unit6
Case
CU per case12
read-only, dots
Case
CU per case120
many (drawn at most 40)
Case
CU per case
empty count
Case
CU per case12
loading

ScaleDraw

Boxes drawn in true proportion on one scale; the sizes sit under each drawing. A box that would not fit stands apart, drawn smaller, with its note.

Default
Jar8 x 8 x 11 cm
Case34 x 25 x 12 cm
two boxes
Jar8 x 8 x 11 cm
Pallet120 x 80 x 160 cm

Drawn at 1/14 of this scale.

one drawn smaller

Enter the three sizes to see the box.

empty

BarScale

A bar per row on one shared scale from 0 to the largest, values right-aligned. A row can be a part of the one above it, or hold a field with its refusal.

Default
42,5 kg
Tomatoes30 kg
Of which peeled12 kg
Cream8 kg
0 kg60 kg
with lead, sub row and foot
Cream8 kg
error

Nothing to compare yet.

empty

Ruler

Rows on one shared scale: a label, a track of segments in three weights, the value in words, and an optional line under the track.

Default
Tomato soup12 kgSoft part is waste
Basil pesto9 kg
0 kg20 kg
with key and ends

No runs yet.

empty

RangeBand

One scale with ticks and a band per row from its low to its high number. One number is a thin tick; no number is an empty track.

Default
Before opening2 – 7 °C
After opening2 °C
Transport—
three rows

No temperatures yet.

empty

LineChart

A flowing line over n periods with its area, the dashed average, a tangerine dot on the latest period, and a crosshair with a tip per period. Left and right move between periods.

Default
Average 181Week 12: 120 CUWeek 13: 150 CUWeek 14: 90 CUWeek 15: 210 CUWeek 16: 180 CUWeek 17: 240 CUWeek 18: 200 CUWeek 19: 260 CU
default (sweeps in)
Average 181Week 12: 120 CUWeek 13: 150 CUWeek 14: 90 CUWeek 15: 210 CUWeek 16: 180 CUWeek 17: 240 CUWeek 18: 200 CUWeek 19: 260 CU
hover / focus (week 15)

Nothing shipped in this period.

empty

AllergenTile

One of the 14 allergens in one of four states. A click or Enter opens the menu of states; Esc closes it. A changed tile has a solid edge; a tile given by the bill of materials is locked.

State
contains
may contain
does not contain
to confirm
Interaction
hover
focus
active
changed
locked
read-only
Try it
menu (click or Enter)
menu open

AllergenLegend

The key under a grid of allergen tiles: one chip per state, with an optional word button after it. AllergenGrid lays the tiles out.

Default
ContainsDoes not containTo confirm
three states
ContainsMay containDoes not containTo confirm
all four
with the grid

CompositionBar

The head of the composition editor: three totals and the share bar. LevelMark is the small drawn mark of a packaging level in a row.

Default
Total42,5 kg
Allergen share12%
Ingredients6

1 ingredient has no share yet.

default
Total…
loading
Total0 kg

Add an ingredient to see its share.

empty
LevelMark
cu
case
pallet

MediaPic

A square picture or, without one, a quiet tile with an icon. The one picture tile that Gallery, ThumbnailStrip and CatalogPhoto are built on.

Size
thumb (icon)
photo (icon)

PhotoAddTile

The dashed tile that adds a photo: click, Enter, or drop an image on it. In three sizes.

Size
thumb
photo
zone
State
hover
focus
active
loading

ThumbnailStrip

Each group shows its photos at one small size and one dashed tile that adds.

Default
Packshots
Lifestyle
default

CatalogPhoto

The photo as a large square in a card; without one, the dashed tile that adds, or the thing's own icon when it cannot be added to.

Default
no photo, can add
icon only
loading

PalletMoment

A case beside its pallet, drawn from the three counts while you type; then the big figure and the number of cases. An empty Layers counts as 1 in the picture and is never stored.

Default (try it)
Case of 12 CU
8 layers of 20
1920 CU160 cases
filled
Case
Pallet
empty
Case of 30 CU
+6
20 layers of 60
Drawn smaller than it is
36000 CU1200 cases
past the drawing limit

ScalingRow

The material name on the first line, how it is treated on the second; Now, New and the unit beside both. A refusal sits under its row.

Default (try it)
MaterialNowNew
Plum tomatoes10Scaled with the batchkg
Sea salt0,2Stays the samekg
Basil0,5Removedkg
Cream3Scaled with the batchkg
four rows: scaled, unchanged, removed (disabled), error

TagRow

Tags as chips in a wrapping row, each removable. PhotoGrid lays photos and the add tile in one cell size.

Default
VegetarianSeasonalGift box
removable (try it)
VegetarianSeasonal
read-only

No tags yet.

empty
PhotoGrid