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.
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.
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.
Checkboxes can be rendered by specifying a checkbox type on an input tag and assigning it a name.
Menu Bar
The menu bar extends across the top of the screen and contains words and icons that serve as the title of each menu.
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.
Title bars can be created using the .title-bar class along with .title, .close, and .resize elements.
Window contents go here.
Window Contents
The window's content area is where users interact with the document or application.
Window contents can be created using the .window-pane class.
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.
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.