Skip to content

Components

Every piece, ready to copy

35 components on one page. Each block has a Copy HTML button. Switch the theme in the header to see all three palettes.

Buttons

Six fills, three sizes, icon buttons and a disabled state. Pressing pushes the button into its shadow.

Text inputs

Labels sit above the field. Errors use colour, an icon and text, and are linked with aria-describedby.

Up to 12 characters.

That code does not exist.

Checkbox, radio, toggle and select

Native inputs, so keyboard and screen readers work as usual. Only the visuals are pixel art.

Options
Difficulty
Settings

Cards

Pixel edge plus a stepped drop shadow. Use the title bar version for windows and panels.

3
Rare

Red potion

Restores three hearts. Tastes like cherries.

Quest2/3

Find the lost key

Search the old mill before sunset.

Rio

Level 8 · Bard

Dialog

Built on the native dialog element: focus moves inside, Escape closes it and focus returns to the trigger.

Save game

Choose a slot. Slot 2 already has a save from yesterday.

Quit without saving?

You will lose progress since the last save point.

Tabs

Arrow keys move between tabs, Home and End jump to the ends. Follows the WAI-ARIA tabs pattern.

Attack
14
Defence
9
Speed
12
Luck
7

Badges and pills

Label text is optically centred: Silkscreen sits low in its line box, so the bottom padding is 2px larger than the top.

NewRareOnlineBossBonusDraft
2 players onlinex 993

Progress and health bars

Hearts for health, segments for experience and a striped bar for loading. Each has a text equivalent for screen readers.

Health3.5/5
Experience80%
Mana40%
Loading world65%

Tooltip

Shows on hover and keyboard focus, stays while hovered, and Escape hides it.

Toast

Announced politely to screen readers through an aria-live region. Dismiss with the button or wait four seconds.

Avatars

Pixel portraits drawn as SVG, with sizes, status dots and a stacked group.

+5

Table

A real table with a caption and header cells. On small screens it scrolls inside its own box.

Quest log
QuestZoneRewardStatus
Find the lost keyOld mill120Active
Feed the dragonNorth cave300Done
Fix the bridgeRiver gate80Active
Defeat the slime kingSwamp500Locked

Pagination

The current page uses aria-current. Previous and next buttons have text labels for screen readers.

Alerts

Static messages for the page. Colour is never the only signal: each has an icon and a title.

Tip

Hold the button to charge a jump.

Saved

Your progress is stored in slot 1.

Heads up

The shop closes when the moon is out.

Danger

One heart left. Find a potion.

Accordion

Native details and summary elements, so it works without JavaScript.

How do I switch themes?

Set data-theme on the html tag to classic, handheld or night.

Can I use it without Tailwind?

Yes: tokens/coinslot.css has the same values as plain CSS variables.

Do the animations respect reduced motion?

Yes. Every animation uses motion-safe and a global reduced-motion rule.

Text box

The classic dialogue box: portrait, name tag, typewriter text and a blinking prompt.

Moss

Welcome to Coinslot!

Pick any piece and copy it.

Empty state and skeleton

For lists with nothing in them yet and for content that is still loading.

No items yet

Open a chest or finish a quest to fill your bag.