Skip to content
AI Building

Build an Atrium app with AI

One minimised file with everything an AI tool needs: how to work, the hard rules, the full app contract and the design system. Upload it to any LLM, then describe your app.

ATRIUM-AI-BUILD.mdMarkdown
  1. Upload the file to ChatGPT, Claude, Cursor or any AI tool (or paste its contents).
  2. Describe the app you want in plain English.
  3. Let the AI ask you for the API key when it needs one.
View the file
Auto

Component · Form elements

Checkbox

View .md

Stable

Checkboxes turn a single option on or off, or let managers pick any number of options from a list. Each checkbox has its own label, and a group of them sits in a fieldset with a legend that asks the question.

Atrium uses the browser's own checkbox, tinted with the accent colour. It has no separate hover style.

Send reminders by

Specifications

Anatomy

Send reminders by
1) Legend
font-size: var(--at-text-sm) /* 14px */
font-weight: var(--at-weight-bold)
margin-bottom: var(--at-space-2) /* 4px */
2) Box
width: 1.125rem; height: 1.125rem /* 18px */
accent-color: var(--at-bg-primary)
3) Label
font-size: var(--at-text-md) /* 16px */
the whole label is clickable

Size and spacing

Box
18px by 18px
margin-top: 0.15rem to line up with the first line of text
Spacing
box to label: var(--at-space-3) /* 8px */
between options: var(--at-space-3) /* 8px */

Checkbox group

Pick any number of options. Wrap the group in a fieldset with a legend.

Example

Notify me about

States

Unchecked

browser default box

Checked

fill: var(--at-bg-primary)

Focus

outline: 3px solid var(--at-border-focus)
outline-offset: 2px

Disabled

greyed by the browser

Single checkbox

One option on its own, for a yes or no setting. No fieldset is needed.

Example


Usage

When to use

  • Choosing any number of options, including none.
  • A single yes or no setting that is saved with the form.

When not to use

  • Exactly one choice from a list: use radios.
  • A setting that takes effect straight away: use a button.

Content

  • Labels say what is turned on: "Email", "Include archived properties".
  • Avoid negatives such as "Do not send reminders".
  • The legend asks the question: "Send reminders by".

Do and don't

DoA positive label: ticked means on.
Don'tA double negative: ticked means... what?

Do

  • Wrap the input in its label so the text is clickable.

Don't

  • Use a checkbox to trigger an action immediately.

Implementation

HTML

<fieldset class="at-fieldset">
  <legend>Send reminders by</legend>
  <label class="at-choice"><input type="checkbox" checked /> Email</label>
  <label class="at-choice"><input type="checkbox" /> SMS</label>
</fieldset>

Classes

ClassWhat it does
at-fieldsetGroups related choices
at-choiceLabel wrapping the input and its text

Tokens used

--at-bg-primary


Accessibility

  • Group related checkboxes in a fieldset with a legend.

Related