TARGETED.ARMY / FRONT-END SYSTEMCanonical

Buttons Style Guide

One button system with semantic variants. Author every button label in Title Case. All labels are non-bold, controls share the same height within a row, and new page-level copies are not permitted.

9 Component References

Style Guide Section

Actions 01 — Buttons

One button system with semantic variants. Author every button label in Title Case. All labels are non-bold, controls share the same height within a row, and new page-level copies are not permitted.

8a17b3e1-0200-4d24-9a71-000000000002
Component Reference

Accent 01 — Primary Action

The single highest-priority action in a region. Avoid placing two Accent 01 buttons beside each other.

Friendly Name
Accent 01 — Primary Action
GUID
8a17b3e1-0201-4d24-9a71-000000000201
Use in
Submit, Save, Create, Publish, Continue
Show Class & CSS
Class / Reference
ta-button ta-button--primary
Canonical CSS
.ta-button--primary { border-color: var(--theme-accent); background: var(--theme-accent); color: #fff; box-shadow: 4px 4px 0 rgb(from var(--theme-accent) r g b / .36); }
Legacy Equivalents to Consolidate

.button.button-primary, .account-button.primary, .foia-button-primary, .outreach-launch

Source: app/styles/canonical.css. Existing shared components are identified when they remain the live implementation.

Component Reference

Dark 01 — Secondary Action

A normal supporting action on a dark surface. Pair with Accent 01 when both actions are necessary.

Friendly Name
Dark 01 — Secondary Action
GUID
8a17b3e1-0202-4d24-9a71-000000000202
Use in
Cancel Alternatives, Utility Actions, Secondary Navigation
Show Class & CSS
Class / Reference
ta-button ta-button--secondary
Canonical CSS
.ta-button--secondary { border-color:#4d5056; background:#1b1c1f; color:#d7d9dd; }
Legacy Equivalents to Consolidate

.foia-button-dark, .outreach-dark-button, dark .account-button.secondary

Source: app/styles/canonical.css. Existing shared components are identified when they remain the live implementation.

Component Reference

Outline 01 — Bordered Action

An action that needs visibility without taking priority from Accent 01.

Friendly Name
Outline 01 — Bordered Action
GUID
8a17b3e1-0203-4d24-9a71-000000000203
Use in
Download Alternatives, Start-Over, Add Supporting Item
Show Class & CSS
Class / Reference
ta-button ta-button--outline
Canonical CSS
.ta-button--outline { border-color: var(--theme-accent); background: transparent; color: var(--theme-accent-copy); }
Legacy Equivalents to Consolidate

.button-outline, .evidence-light-button, outlined record actions

Source: app/styles/canonical.css. Existing shared components are identified when they remain the live implementation.

Component Reference

Ghost 01 — Quiet Action

A low-emphasis action such as dismiss, clear, or return. It should not look like the primary path.

Friendly Name
Ghost 01 — Quiet Action
GUID
8a17b3e1-0204-4d24-9a71-000000000204
Use in
Clear, Dismiss, Back, Close
Show Class & CSS
Class / Reference
ta-button ta-button--ghost
Canonical CSS
.ta-button--ghost { border-color: transparent; background: transparent; color: #b5b7bc; }

Source: app/styles/canonical.css. Existing shared components are identified when they remain the live implementation.

Component Reference

Danger 01 — Destructive Action

Reserved for deletion, deactivation, or irreversible actions. Pair with plain-language confirmation.

Friendly Name
Danger 01 — Destructive Action
GUID
8a17b3e1-0205-4d24-9a71-000000000205
Use in
Delete, Deactivate, Revoke
Show Class & CSS
Class / Reference
ta-button ta-button--danger
Canonical CSS
.ta-button--danger { border-color: var(--theme-accent-border); background: var(--theme-accent-surface); color: var(--theme-accent-copy); }

Source: app/styles/canonical.css. Existing shared components are identified when they remain the live implementation.

Component Reference

Icon 02 — Compact Action

A square control for an obvious icon action. Always include an aria-label and title.

Friendly Name
Icon 02 — Compact Action
GUID
8a17b3e1-0206-4d24-9a71-000000000206
Use in
Calendar Navigation, Close, Copy, Small Toolbars
Show Class & CSS
Class / Reference
ta-button ta-button--secondary ta-button--icon
Canonical CSS
.ta-button--icon { width: 44px; min-height: 44px; padding: 0; }

Source: app/styles/canonical.css. Existing shared components are identified when they remain the live implementation.

Component Reference

State 01 — Disabled

Disabled controls remain recognizable but clearly unavailable. Do not rely on opacity alone to explain why.

Friendly Name
State 01 — Disabled
GUID
8a17b3e1-0207-4d24-9a71-000000000207
Use in
Unavailable or Incomplete Actions
Show Class & CSS
Class / Reference
ta-button disabled
Canonical CSS
.ta-button:disabled { opacity: .5; cursor: not-allowed; transform: none; }

Source: app/styles/canonical.css. Existing shared components are identified when they remain the live implementation.

Component Reference

State 02 — Processing

Keep the action label understandable while work is in progress. Disable the control and show the shared spinner.

Friendly Name
State 02 — Processing
GUID
8a17b3e1-0208-4d24-9a71-000000000208
Use in
Saving, Sending, Uploading, Transcribing
Show Class & CSS
Class / Reference
ta-button ta-button--primary; ta-button__spinner
Canonical CSS
.ta-button__spinner { width: 15px; height: 15px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: ta-spin .75s linear infinite; }

Source: app/styles/canonical.css. Existing shared components are identified when they remain the live implementation.

Component Reference

Group 01 — Action Row

Align related actions in one flexible row. Every button in the row uses the same size modifier.

Friendly Name
Group 01 — Action Row
GUID
8a17b3e1-0209-4d24-9a71-000000000209
Use in
Form Footers, Modal Footers, Record Actions
Show Class & CSS
Class / Reference
ta-button-row
Canonical CSS
.ta-button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }

Source: app/styles/canonical.css. Existing shared components are identified when they remain the live implementation.