System.css β€” Tailwind Edition

A design system for building retro 🍎-inspired interfaces using Tailwind utilities and a minimal system.css layer.

Intro

System.css (Tailwind Edition) replicates the look-and-feel of Apple’s System 6 era using modern TailwindCSS utilities. This site is a standalone demo and docs. No JavaScript frameworks required.

Most styles can be overridden via Tailwind config or the included system.css layer. Components are accessible and keyboard-friendly where applicable.

Components

Buttons

A button is a rounded rectangle that is named with text. Clicking a button performs the action described by the button's name.
β€” Apple HI Guidelines, p. 204

A standard button measures 59px wide and 20px tall. We use the .btn class.

When pressed, buttons invert. The button below is shown active.

Buttons can have dynamic widths.

Default buttons have an extra outline.

Disabled buttons use the disabled attribute.

Radio Buttons

A radio button is a Macintosh control that displays a setting, either on or off, and is part of a group in which only one button can be on at a time.
β€” Apple HI Guidelines, p. 210

Radio buttons can be rendered by specifying a radio type on an input tag and assigning it a name.

Checkboxes

Checkboxes, like radio buttons, provide alternative choices for users. A checkbox is a square with label text next to it.
β€” Apple HI Guidelines, p. 211

Checkboxes can be rendered by specifying a checkbox type on an input tag and assigning it a name.

The menu bar extends across the top of the screen and contains words and icons that serve as the title of each menu.
β€” Apple HI Guidelines, p. 52

A menu bar consists of menu elements with dropdown menus. We use the .menu-bar class.

Single items use aria-haspopup="false".

Dropdown-only menu:

Select Menu

A select menu can be used to create a drop-down list, typically used in forms.

Select menus can be rendered using the select and option elements.

Text Box

A text box is a basic control that allows users to enter text.

Text boxes can be rendered using the input element with a text type.

Windows

Title Bar

The title bar displays the name of the document or application.
β€” Apple HI Guidelines, p. 137

Title bars can be created using the .title-bar class along with .title, .close, and .resize elements.

Untitled

Window contents go here.

Window Contents

The window's content area is where users interact with the document or application.
β€” Apple HI Guidelines, p. 138

Window contents can be created using the .window-pane class.

Window

This is the content area of the window.

Dialogs

A dialog box is a type of window that requests information or provides information to the user.
β€” Apple HI Guidelines, p. 151

Dialogs can be created using the .standard-dialog class.

Dialog Title

This is a dialog box with some content.

Dialog content goes here.

Alert dialogs can be created using the .alert-dialog class.

Alert

An alert dialog box displays an alert message.

Are you sure you want to continue?

Contributing, Credits, etc.

This design system is based on Apple's Human Interface Guidelines from the classic Mac OS era. The styling is inspired by System 6 and early System 7 interfaces.

Built with Tailwind CSS. No JavaScript frameworks were harmed in the making of this design system.

If you find any issues or have suggestions for improvements, please feel free to contribute.

{"ok":false,"message":"terminated"}