iOS Decimal

Decimal, translated for iPhone and iPad. Structure follows the Apple Human Interface Guidelines; color, type, spacing and shape come from Decimal tokens. 54 components and patterns, each with a spec table and an interactive demo.

Color

Every mobile color is a Decimal semantic token from ui-components.css (theme cw-primary). Never use primitives such as --color-sky-80 directly. Values below resolve live from the CDN; use the dark mode toggle to see the dark set.

Surfaces

Page
--m-surface-page
color/surface/1 ·
Card / sheet
--m-surface-card
color/surface/0 ·
Sunken (search, tracks)
--m-surface-sunken
color/surface/2 ·
Brand tint
--m-surface-brand
color/surface/3 ·
Inverse (toast, tooltip)
--m-surface-inverse
color/surface/inverse ·

Text and icons

Prominent
--m-glyphs-prominent
color/glyphs/prominent ·
Default
--m-glyphs-default
color/glyphs/default ·
Secondary
--m-glyphs-secondary
color/glyphs/accent ·
Disabled
--m-glyphs-disabled
color/glyphs/disabled ·
On fill
--m-glyphs-on-fill
color/glyphs/knockout ·
Action / tint
--m-glyphs-action
color/glyphs/action/neutral/enabled ·

Action fills

Primary
--m-fill-primary
color/fill/action/primary/neutral/enabled ·
Primary pressed
--m-fill-primary-press
color/fill/action/primary/neutral/press ·
Constructive
--m-fill-constructive
color/fill/action/primary/constructive/enabled ·
Destructive
--m-fill-destructive
color/fill/action/primary/destructive/enabled ·
Buy
--m-fill-buy
color/fill/action/primary/buy/enabled ·
Sell
--m-fill-sell
color/fill/action/primary/sell/enabled ·
Selected control
--m-fill-control-selected
color/fill/controls/selected/enabled ·

Feedback

Info
--m-fill-info
color/fill/feedback/info ·
Success
--m-fill-success
color/fill/feedback/success ·
Warning
--m-fill-warning
color/fill/feedback/warning ·
Danger
--m-fill-danger
color/fill/feedback/danger ·
Success text
--m-glyphs-success
color/glyphs/feedback/success ·
Danger text
--m-glyphs-danger
color/glyphs/feedback/danger ·

Strokes

Divider
--m-stroke-divider
color/stroke/general/accent ·
Control
--m-stroke-control
color/stroke/controls/default/enabled ·
Focus
--m-stroke-focus
color/stroke/focus ·
Error
--m-stroke-control-error
color/stroke/controls/error/enabled ·

Charting (provisional)

Series 1
--m-chart-1
sky-50 ·
Series 2
--m-chart-2
patina-50 ·
Series 3
--m-chart-3
citrine-50 ·
Series 4
--m-chart-4
amethyst-50 ·
Series 5
--m-chart-5
copper-50 ·

Typography

Decimal type styles in Roboto (--font-family-base). Weights are only 400, 500 and 700. iOS Dynamic Type roles map to the closest Decimal style; support text scaling by mapping each style to a Dynamic Type text style in code.

Large title
Decimal Heading 4
Portfolio
28/36 · 500
Title 2
Decimal Heading 3
Joint brokerage
20/28 · 500
Headline
Decimal Heading 2
Holdings
16/24 · 700
Body
Decimal Body 2
Your transfer is scheduled for Oct 14.
16/24 · 400
Callout
Decimal Body 1
Markets close early on Nov 27.
14/20 · 400 · +0.16
Subheadline (emphasized)
Decimal Label 2 prominent
Transfer funds
14/18 · 500 · +0.16
Footnote
Decimal Label 1
Balances as of 4:00 PM ET
12/16 · 400 · +0.32
Tabular figures
Decimal Label 2 tabular numeric data
$142,318.40
14/18 · 400 · tnum

Spacing

Decimal fixed padding and gap tokens. Screen margin is 16 on both platforms.

--m-space-4 4px · padding/fixed/xxs
--m-space-8 8px · padding/fixed/xs
--m-space-12 12px · padding/fixed/s
--m-space-16 16px · padding/fixed/m
--m-space-24 24px · padding/fixed/l
--m-space-32 32px · padding/fixed/xl
--m-space-40 40px · padding/fixed/xxl

Corners and elevation

Decimal cw-primary corners are small: buttons and fields 4px, cards 8px. Mobile buttons use corner-m (4px), one step softer than Decimal web buttons (2px). Sheets and dialogs use platform shape tokens (flagged for DS review).

TokenValueUse
--m-corner-button4Buttons (style/corner/m; Decimal web buttons use corner-s 2)
--m-corner-field4Fields, tooltips (style/corner/m)
--m-corner-card8Cards, lists, banners, menus (style/corner/l)
--m-corner-pill160Chips, pills, switches (style/corner/max)
--m-corner-sheetiOS 12 · Android 16Sheets, FAB (platform)
--m-corner-dialogiOS 14 · Android 16Alerts and dialogs (platform)
Low · 0 1 2
Medium · 0 2 4
Extra high · 0 8 16

Platform metrics

Decimal has no mobile sizes yet. These are Apple Human Interface Guidelines values exposed as --m-* tokens under .platform-ios.

MetricTokenValue
Minimum touch target--m-touch-target44 × 44pt
Status bar--m-status-bar-height54pt (Dynamic Island)
Navigation / top app bar--m-nav-bar-height44pt
Large / medium title--m-large-title-height52pt
Tab bar / navigation bar--m-tab-bar-height16pt top padding + 49pt + 34pt home indicator
System navigation--m-home-indicator-height / --m-system-nav-height34pt home indicator
Toolbar / bottom app bar--m-toolbar-height44pt
List row--m-list-row-min-height44pt
Search field--m-search-field-height36pt
Button (Mobile L)--m-control-l48pt
Switch track--m-switch-width51 × 31pt
FAB--m-fab-sizen/a
Navigation rail--m-nav-rail-widthn/a
Dialog width--m-dialog-width270pt
Screen margin--m-screen-margin16pt

Navigation

Tab bar

Platform native

Decimal source: none (platform pattern)
Figma: none (web uses side nav)

  • 3 to 5 top-level destinations; never use for actions.
  • Selected tab uses action color; others secondary glyph color.
  • Labels use Decimal Supplemental 2 (12/16).
PropertyTokenValue (pt)
Height--m-tab-bar-height49pt + 16pt top padding + 34pt home indicator
Top padding--m-tab-bar-padding-top16 (padding/fixed/m)
System navigation--m-home-indicator-height / --m-system-nav-height34pt home indicator
Icon size--m-icon-m24
Label type--m-type-supplemental-2 / --m-type-label-1-prominentSupplemental 2 · 12/16
Selected color--m-glyphs-actioncolor/glyphs/action/neutral/enabled
Indicator--m-fill-control-selectednone
Badge--m-fill-destructivecolor/fill/action/primary/destructive

Tap a tab

Toolbar

Platform native

Decimal source: none (platform pattern)

  • Screen-specific actions at the bottom of a pushed screen.
  • Use text or icon bar buttons; one prominent (bold) action at most.
PropertyTokenValue (pt)
Height--m-toolbar-height44pt
Background--m-surface-card / --m-surface-sunkencolor/surface/0
Item color--m-glyphs-actioncolor/glyphs/action/neutral/enabled
Touch target--m-touch-target44pt

Document actions

Sidebar (iPad)

New for mobile

Decimal source: decimal-side-nav, decimal-sidebar, decimal-drawer

  • iPad regular width only; on iPhone use the tab bar.
  • Selected row uses color/fill/action/primary/neutral with knockout text.
PropertyTokenValue (pt)
Width--m-nav-rail-widthSidebar 320pt
Item height--m-touch-target44pt
Item type--m-type-label-2-prominentLabel 2 prominent · 14/18 medium
Selected--m-fill-control-selectedcolor/fill/action/primary/neutral
Corner--m-corner-pill / --m-corner-sheetcorner-l 8

Advisor

Households

128 households

Tabs (use segmented control)

Decimal component

Decimal source: decimal-tabs

  • iOS has no top tab component. Map decimal-tabs to a segmented control below the nav bar (2 to 4 views) or to separate screens.
PropertyTokenValue (pt)
Height--m-touch-target32pt segment (44pt hit area)
Label type--m-type-label-2-prominentLabel 2 · 14/18
Active color--m-glyphs-actioncolor/glyphs/prominent
Indicator--m-fill-primaryraised segment · color/surface/0

Segmented control

Decimal component

Decimal source: decimal-content-switcher, decimal-binary-switcher

  • 2 to 5 mutually exclusive options; equal-width segments.
  • Use for filters or view modes, not navigation between screens.
PropertyTokenValue (pt)
Height--m-control-m32pt (44pt hit)
Corner--m-corner-control / --m-corner-pillcorner-l 8 · segment corner-m 4
Track--m-surface-sunkencolor/surface/2
Selected--m-fill-control-selectedcolor/surface/0 + elevation-low
Label type--m-type-label-2Label 2 · 14/18 (selected prominent)

Time range

Binary switcher

Step tracker

Decimal component

Decimal source: decimal-step-tracker, decimal-section-tracker

  • Multi-step flows (account opening, transfers). Max 5 steps on phone; show "Step x of y" text too.
PropertyTokenValue (pt)
Dot size--m-icon-m24
Connector--m-stroke-m2px · color/stroke/general/accent (done: color/fill/action/primary/neutral)
Label type--m-type-label-1Label 1 · 12/16 (current prominent)
Done fill--m-fill-primarycolor/fill/action/primary/neutral/enabled
  1. Client
  2. 2Address
  3. 3Review
  4. 4Submit
Step 2 of 4

Actions

Button

Decimal componentDS team to confirm

Decimal source: decimal-button
Figma: Buttons/Standard/L Standard Button

  • Primary: one per screen, usually full width at the bottom.
  • Secondary: outlined, for alternatives. Tertiary: text only.
  • Labels are sentence case, verb or verb + noun.

Mobile L (48) adds one unit step over Decimal web L (40). Corner is Decimal corner-m (4px): one step softer than Decimal web buttons (corner-s, 2px) and far from the 12px used in the previous kit.

PropertyTokenValue (pt)
Height · Mobile L--m-control-l48 (Decimal web L is 40)
Height · Mobile M--m-control-m40 visible, hit area extended to 44pt / 48dp
Horizontal padding--m-space-16 / --m-space-12L 16 · M 12 (Decimal padding/fixed/m, s)
Corner--m-corner-buttonstyle/corner/m · 4px (cw-primary)
Label · L--m-type-label-3-prominentLabel 3 prominent · 16/24 medium
Label · M--m-type-label-2-prominentLabel 2 prominent · 14/18 medium · +0.16
Primary fill--m-fill-primarycolor/fill/action/primary/neutral/enabled (sky-50)
Secondary stroke--m-stroke-actioncolor/stroke/action/neutral/enabled · 1px
Disabled--m-fill-primary-disabledcolor/fill/action/primary/disabled + color/glyphs/disabled

Hierarchy · Mobile L

Intent and size · Mobile M

Trading buttons

New for mobile

Decimal source: decimal-trading-button

  • Buy and Sell only. Never reuse buy/sell colors for other meanings.
  • Always pair with a confirmation step (sheet or review screen).
PropertyTokenValue (pt)
Height--m-control-l48
Buy fill--m-fill-buycolor/fill/action/primary/buy/enabled
Sell fill--m-fill-sellcolor/fill/action/primary/sell/enabled
Pressed--m-fill-buy-press / --m-fill-sell-press…/press
Label--m-type-label-3-prominentLabel 3 prominent · 16/24 medium

AAPL · Apple Inc. · $227.48

Progressive button

New for mobile

Decimal source: decimal-progressive-button

  • Shows a spinner in place of the label while the action runs; width stays fixed.
  • Disable repeat taps while busy (aria-busy).
PropertyTokenValue (pt)
Spinner size--m-icon-s16
Spinner stroke--m-stroke-m2px · color/glyphs/knockout
Statearia-busytrue while running

Tap to see the busy state.

Button group

New for mobile

Decimal source: decimal-button-group
Figma: Button Groups/Labeled/L Labeled Button Group

  • Pair a primary with a secondary action. Stack vertically when labels are long.
  • Primary goes trailing (side by side) or on top (stacked).
PropertyTokenValue (pt)
Gap--m-space-88 (padding/fixed/xs)
Layoutflexequal width · stacked when > 2 or long labels

Pull-down button

New for mobile

Decimal source: decimal-split-button
Figma: Buttons/Split · Buttons/Dropdown

  • A button that opens a menu of related actions. iOS has no split button; the whole control opens the menu.
PropertyTokenValue (pt)
Height--m-control-m40 (44pt / 48dp hit)
Divider--m-stroke-sn/a
Menu--m-elevation-highdecimal-menu · corner-l 8

Icon button

Decimal component

Decimal source: decimal-icon-button
Figma: Buttons/Icon (Bound, Unbound) · Buttons/Badge Icon Buttons

  • Unbound (no border) in bars; bound (outlined) on content surfaces.
  • Always give an accessible label; badge counts are announced in the label.
PropertyTokenValue (pt)
Hit area--m-touch-target44pt
Bound size--m-control-m40 · corner-m 4 · 1px stroke
Icon--m-icon-m24
Badge--m-fill-destructive16 high · Supplemental 2 · pill

Bookmark and pin toggles

New for mobile

Decimal source: none (platform pattern)
Figma: Toggleable Buttons/Bookmark · Toggleable Buttons/Pin

  • Icon toggle that keeps state (watchlist, pinned account). Use aria-pressed.
PropertyTokenValue (pt)
Hit area--m-touch-target44pt
On--m-glyphs-actionfilled icon · color/glyphs/action/neutral/enabled
Off--m-glyphs-secondaryoutline icon · color/glyphs/accent

Filter buttons

New for mobile

Decimal source: none (platform pattern)
Figma: Badge Buttons/Filter/M Filter Button

  • Horizontal scroll of filters above a list. Count badge shows active matches.
PropertyTokenValue (pt)
Height--m-control-s32 (44pt / 48dp hit)
Padding--m-space-120 12
Corner--m-corner-pillstyle/corner/max
Selected--m-fill-control-selectedcolor/fill/controls/selected + color/stroke/controls/default/selected
Count badge--m-fill-primaryLabel 1 prominent · pill

Inputs

Text field

Decimal componentDS team to confirm

Decimal source: decimal-text-input, decimal-form-field
Figma: Fields/Text Input/L Text Input

  • Label above, hint or error below. Use the right keyboard type (email, number, phone).
  • Error text uses danger glyphs and never relies on color alone (icon + message).

Decimal fields keep the label above the box on both platforms (not the M3 floating label). Box height is Mobile L (48).

PropertyTokenValue (pt)
Height--m-control-l48 (Decimal web L 40)
Padding--m-space-120 12 (padding/fixed/s)
Corner--m-corner-fieldstyle/corner/m · 4px
Stroke--m-stroke-control1px color/stroke/controls/default/enabled
Focus--m-stroke-focus2px color/stroke/focus
Error--m-stroke-control-errorcolor/stroke/controls/error/enabled
Label--m-type-label-2-prominentLabel 2 prominent · 14/18
Value--m-type-body-2Body 2 · 16/24 (16 avoids iOS zoom-on-focus)
Hint--m-type-label-1Label 1 · 12/16

Text view

Decimal component

Decimal source: decimal-textarea

  • Notes and messages. Show a character count when there is a limit.
PropertyTokenValue (pt)
Min height9696 (grows with content)
Other propertiessee Text fieldsame as Text field

Amount input

New for mobile

Decimal source: decimal-dollar-input, decimal-percent-input
Figma: Fields/Amount Input/L Amount Input

  • Use for money and percentages. Show the decimal pad keyboard.
  • Large tabular figures; show available balance as a hint.
PropertyTokenValue (pt)
Height6464 (unit-800)
Value type--m-type-heading-4Heading 4 · 28/36 · tabular numerals
Affix ($ / %)--m-glyphs-prominentsame size as value
Other propertiessee Text fieldsame as Text field

Date picker

New for mobile

Decimal source: decimal-date-picker, decimal-calendar
Figma: Fields/Date Picker/L Date Picker

  • Compact style in forms (tap to expand inline calendar). Wheels only for times or birthdays.
PropertyTokenValue (pt)
Day cell4044pt (square)
Selected--m-fill-primarycolor/fill/action/primary/neutral/enabled
Today--m-glyphs-actionaction color text
Header--m-type-heading-2 / --m-type-heading-4Heading 2
Corner--m-corner-card / --m-corner-dialogcorner-l 8
Transfer date
October 2026

Wheel picker

Platform native

Decimal source: none (platform pattern)

  • Times, durations and short fixed lists. Use the system wheel; style follows Decimal type.
PropertyTokenValue (pt)
Row height3636pt
Value type--m-type-heading-3 / --m-type-heading-6Heading 3 regular
Selected--m-fill-control-selectedcolor/surface/2 band
  • 7
  • 8
  • 9
  • 10
  • 11
  • 15
  • 30
  • 45
  • 00
  • 15
  • AM
  • PM

Token field

Platform native

Decimal source: none (platform pattern)

  • Recipients or tags. Tap × to remove; backspace removes the last token.
PropertyTokenValue (pt)
Field--m-control-lmin 48 · grows
Token2828 high · pill · color/fill/controls/selected
Remove target2424 icon inside a 44pt / 48dp row
Share report with
Jordan Parker Sam Reed

Slider

Platform native

Decimal source: none (platform pattern)

  • Approximate values (risk tolerance). Always show the value as text too.
PropertyTokenValue (pt)
Track / thumb--m-fill-primarycolor/fill/action/primary/neutral (accent-color)
Hit height--m-touch-target44pt

Selection controls

Checkbox (checkmark list)

Decimal component

Decimal source: decimal-checkbox, decimal-checkbox-group

  • In lists, iOS uses trailing checkmarks for multi-select. Use boxes for consent and terms.
PropertyTokenValue (pt)
Box2020 · corner-s 2 · 2px stroke
Checked--m-fill-primarycolor/fill/action/primary/neutral/enabled
Row height--m-touch-target44pt

Radio (single-select list)

Decimal component

Decimal source: decimal-radio-group

  • iOS lists show a trailing checkmark on the selected row instead of radio circles.
PropertyTokenValue (pt)
Circle2020 · 2px stroke · 10 dot
Selected--m-fill-primarycheckmark · color/glyphs/action
Row height--m-list-row-min-height44pt

Dividends

Toggle

Decimal componentDS team to confirm

Decimal source: decimal-toggle-switch

  • Settings that apply immediately. Do not use in forms that need a Save button.

iOS "on" uses Decimal constructive (success) fill to match the platform convention; Android uses the Decimal primary fill. DS team to confirm.

PropertyTokenValue (pt)
Track--m-switch-width × --m-switch-height51 × 31pt
Thumb--m-switch-knob27pt
On fill--m-fill-constructive / --m-fill-primarycolor/fill/action/primary/constructive
Off--m-stroke-divider / --m-stroke-controlcolor/stroke/general/accent
Semanticsrole="switch"focusable button with aria-checked
  • Face ID sign-in
  • Price alerts

Feedback and status

Banner

Decimal component

Decimal source: decimal-inline-notification

  • Persistent, in-content messages. Info, success, warning, danger. Icon plus text, never color alone.
PropertyTokenValue (pt)
Padding--m-space-12 / --m-space-1612 × 16
Corner--m-corner-cardstyle/corner/l · 8px
Leading stroke--m-stroke-l4px color/stroke/feedback/*
Fill--m-fill-info …color/fill/feedback/*
Title / text--m-type-heading-1 / --m-type-body-1Heading 1 · 14/20 bold · Body 1 · 14/20

Market closes early

Markets close at 1:00 PM ET on Nov 27.

Transfer scheduled

$2,500 on Oct 14.

Your beneficiary info is out of date.

Toast

Decimal component

Decimal source: decimal-toast
Figma: Notifications/Toast Notification

  • Brief confirmation that disappears (4 to 6 s). Never for errors that need action.
  • Position above the tab bar or toolbar.
PropertyTokenValue (pt)
Fill--m-surface-inversecolor/surface/inverse
Text--m-type-body-1Body 1 · color/surface/0
Action--color-glyphs-action-neutral-inverse-enabledLabel 2 prominent
Corner--m-corner-card8
Elevation--m-elevation-higheffect/dropshadow/extrahigh
Added AAPL to watchlist

Status pill and badge

Decimal component

Decimal source: decimal-status-pill

  • Short status labels on rows and cards (Pending, Filled, Action needed).
PropertyTokenValue (pt)
Padding--m-space-2 / --m-space-82 × 8
Type--m-type-label-1-prominentLabel 1 prominent · 12/16 · +0.32
Corner--m-corner-pillstyle/corner/max
Fills--m-fill-info …color/fill/feedback/* with matching color/glyphs/feedback/*
DraftPendingFilledAction neededRejected

Activity and progress indicators

Decimal component

Decimal source: decimal-loading-comet, decimal-loading-shimmer

  • Spinner for unknown duration; bar or ring for known progress; shimmer for loading layouts.
PropertyTokenValue (pt)
Spinner2424 · 4px stroke · color/fill/action/primary/neutral
Linear track44 · pill · color/fill/controls/selected
Ring9696 · 8 stroke
Shimmer--m-surface-sunkencolor/surface/2 → color/surface/0 sweep · respects reduced motion
Loading positions…
Retirement goal72%

Empty state

Decimal component

Decimal source: decimal-empty-state

  • Explain why it is empty and offer one next action.
PropertyTokenValue (pt)
Icon4848 · color/glyphs/accent
Title--m-type-heading-3Heading 3 · 20/28
Text--m-type-body-1Body 1 · color/glyphs/accent

No watchlist yet

Save securities to follow their price here.

Overlays

Alert

Decimal component

Decimal source: decimal-modal

  • Critical confirmations only. 2 actions side by side; preferred action bold; destructive in danger color.
PropertyTokenValue (pt)
Width--m-dialog-width270pt
Corner--m-corner-dialog14pt
Title--m-type-heading-2 / --m-type-heading-3Heading 2
Scrim--m-scrimslate A40 (Decimal has no semantic scrim yet)

Cancel this order?

Your limit order for 10 AAPL will be withdrawn.

Sheet

Decimal componentDS team to confirm

Decimal source: decimal-drawer

  • Focused sub-tasks (filters, quick trade). Grabber + Cancel/Done in the header.

decimal-drawer (side panel on web) becomes a bottom sheet on phones.

PropertyTokenValue (pt)
Top corners--m-corner-sheet12pt
Grabber--m-sheet-grabber-width × height36 × 5pt
Header--m-nav-bar-height44pt
Fill--m-surface-page / --m-surface-cardcolor/surface/1

Action sheet

Platform native

Decimal source: decimal-menu

  • A choice of actions tied to something the user did. Cancel is separate at the bottom.
PropertyTokenValue (pt)
Row height56 / --m-list-row-min-height56pt
Action type--m-type-heading-3Heading 3 regular · action color
Destructive--m-glyphs-destructivecolor/glyphs/action/destructive/enabled
Corner--m-corner-dialog / --m-corner-sheet14pt

Popover / info tip

Decimal component

Decimal source: decimal-info-toggletip

  • Tap an info icon to show a short explanation (no hover on touch). Dismiss on outside tap.
PropertyTokenValue (pt)
Fill--m-surface-inversecolor/surface/inverse
Text--m-type-label-2Label 2 · 14/18
Max width240240
Corner--m-corner-m4
Buying power

Data display

List (inset grouped)

Decimal component

Decimal source: decimal-list, decimal-list-item

  • Inset grouped lists for settings and account details; plain lists for feeds.
  • Swipe left for row actions; destructive action is red and last. Pull to refresh at the top.
PropertyTokenValue (pt)
Row min height--m-list-row-min-height44pt
Padding--m-space-168 × 16
Primary text--m-type-body-2Body 2 · 16/24 · color/glyphs/prominent
Secondary text--m-type-label-1 / --m-type-body-1Label 1 · 12/16
Divider--m-stroke-divider1px inset 16 · color/stroke/general/accent
Group corner--m-corner-cardstyle/corner/l · 8
Swipe action width8080

Accounts

  • Joint brokerage•••• 4821$82,250
  • Roth IRASwipe left$41,092
  • Open an account

Card

Decimal component

Decimal source: decimal-card, decimal-outcome-card

  • Group related content; whole card can be tappable. Outcome cards highlight a result with a colored leading edge.
PropertyTokenValue (pt)
Padding--m-space-1616
Corner--m-corner-cardstyle/corner/l · 8
Stroke--m-stroke-divider1px color/stroke/general/accent (raised: none)
Raised--m-elevation-mediumeffect/dropshadow/medium
Title--m-type-heading-2Heading 2 · 16/24 bold

Quarterly review

With Alex Morgan · Oct 22, 10:00 AM

On track

Retirement goal

Projected $1.2M by 2051

Data point and summary

New for mobile

Decimal source: decimal-data-point, decimal-data-summary

  • Key numbers: label above, value below, optional change. Always tabular numerals.
  • Up/down change uses success/danger glyphs plus a sign, never color alone.
PropertyTokenValue (pt)
Label--m-type-label-1Label 1 · color/glyphs/accent
Value--m-type-heading-3Heading 3 · 20/28 (hero: Heading 5 · 32/40)
Change--m-type-label-2-prominentcolor/glyphs/feedback/success | danger
Grid gap--m-space-1616
Total value$142,318.40+$1,204.18 (+0.85%) today
Cash$8,240.12
Buying power$16,480.24
YTD return+9.4%
Unrealized−$312.08

Holdings list (data table)

New for mobileDS team to confirm

Decimal source: decimal-data-table

  • Max 2 columns of data per row; sort via a header menu.
  • Use landscape or iPad for full tables.

Data tables do not fit on phones. decimal-data-table maps to a 2-column row (name left, value right) with a sticky header; tap opens detail.

PropertyTokenValue (pt)
Header--color-fill-data-headerLabel 1 prominent · color/fill/data/header
Row padding--m-space-1212 × screen margin 16
Symbol--m-type-heading-2Heading 2 · 16/24 bold
Value--m-type-numeric-2Label 2 tabular · 14/18
Change--m-glyphs-success / --m-glyphs-dangerLabel 1 prominent
HoldingValue / today
AAPL$22,748.00Apple Inc.+1.24%
VTI$41,092.55Vanguard Total Stock Mkt ETF+0.61%
BND$18,410.10Vanguard Total Bond Mkt ETF−0.18%

Masked value

New for mobile

Decimal source: decimal-masked-value, decimal-masked-account-number

  • Account and tax numbers are masked by default; reveal requires a tap (and Face ID for SSN).
  • Hide values when the app moves to the background (app switcher snapshot).
PropertyTokenValue (pt)
Type--m-type-numeric-2Label 2 tabular
Toggle target--m-touch-target44pt
Mask•••• + last 4decimal-masked-account-number pattern
Account number
•••• 4821

Info field

New for mobile

Decimal source: decimal-info-field

  • Read-only label/value pairs on detail screens.
PropertyTokenValue (pt)
Row padding--m-space-1212 vertical
Label--m-type-body-1Body 1 · color/glyphs/accent
Value--m-type-label-2-prominentLabel 2 prominent · right-aligned
Account type
Joint tenants (JTWROS)
Opened
Mar 3, 2019
Advisor
Alex Morgan

Regulatory disclosure

New for mobileDS team to confirm

Decimal source: decimal-reg-block, decimal-footer

  • Required disclosures at the end of screens that show performance or offers. Never truncate.

Disclosure copy must come from Compliance. This block only defines layout.

PropertyTokenValue (pt)
Fill--m-surface-sunkencolor/surface/2
Type--m-type-label-1Label 1 · 12/16 · color/glyphs/accent
Padding--m-space-1616
Corner--m-corner-card8

Securities and advisory services offered through LPL Financial, a registered investment advisor and broker-dealer. Member FINRA/SIPC.

Past performance is no guarantee of future results. Full disclosures

Avatar

Decimal component

Decimal source: decimal-avatar

  • Initials when there is no photo. Decorative unless it is the only identifier.
PropertyTokenValue (pt)
Sizes32 / 40 / 56S 32 · M 40 · L 56
Fill--m-fill-control-selectedcolor/fill/controls/selected
Initials--m-type-label-2-prominentLabel 2 prominent (L: Heading 3)

Disclosure group

Decimal component

Decimal source: decimal-section

  • Progressive disclosure for FAQs and secondary details.
PropertyTokenValue (pt)
Row height--m-list-row-min-height44pt
Title--m-type-label-3-prominentLabel 3 prominent · 16/24
Body--m-type-body-1Body 1 · 14/20
What is a limit order?
An order to buy or sell at a set price or better.
When do trades settle?
Most stock trades settle one business day after the trade date.

Charts

Platform nativeDS team to confirm

Decimal source: none (platform pattern)
Figma: ✺ Decimal Charting & Illustration Components

  • Line for value over time, bars for comparisons, donut for allocation. Provide a text summary for VoiceOver.

Charting colors map to Decimal primitives until charting tokens ship on the CDN.

PropertyTokenValue (pt)
Series 1–5--m-chart-1 … --m-chart-5sky-50 · patina-50 · citrine-50 · amethyst-50 · copper-50
Track--m-chart-trackcolor/surface/2
Line width22
Legend--m-type-label-1Label 1

Value over time

Allocation

Stocks 60%Bonds 30%Cash 10%

Patterns

Account overview

New for mobile

Decimal source: decimal-data-summary, decimal-data-table, decimal-list

  • Top-level Portfolio tab: large title, hero value, range control, chart, holdings, disclosure.
PropertyTokenValue (pt)
Compositionsee componentsNav bar · Data summary · Segmented · Chart · Holdings · Reg block · Tab bar

Portfolio

Total value$142,318.40+$1,204.18 (+0.85%) today
HoldingValue / today
AAPL$22,748.00Apple Inc.+1.24%
VTI$41,092.55Vanguard Total Stock Mkt ETF+0.61%
BND$18,410.10Vanguard Total Bond Mkt ETF−0.18%

Values are delayed up to 15 minutes. Member FINRA/SIPC.

Trade ticket

New for mobile

Decimal source: decimal-trading-button, decimal-binary-switcher, decimal-dollar-input, decimal-modal

  • Sheet over the security detail: side switcher, amount, order type, sticky review button, then a confirmation step.
PropertyTokenValue (pt)
Compositionsee componentsSheet · Binary switcher · Amount input · Pop-up / dropdown · Info fields · Trading button

Trade AAPL

  • Order typeMarket
  • AccountJoint •••• 4821
Est. shares
4.3961
Est. commission
$0.00

Sign in with Face ID

Platform native

Decimal source: decimal-text-input, decimal-button

  • Offer Face ID after the first password sign-in. The system prompt is native; do not restyle it.
  • Keyboard pushes the primary button up (keyboard inset).
PropertyTokenValue (pt)
Compositionsee componentsText field · Button · system biometric prompt · keyboard inset

Welcome back

Split view (iPad)

Platform native

Decimal source: decimal-list, decimal-card

  • iPad regular width: master list leading, detail trailing. Collapses to push navigation on iPhone.
PropertyTokenValue (pt)
Master width136–320iPad 320pt (demo scaled)

Parker household

2 accounts · reviewed 3 days ago

Apple HIG coverage

Every component in the Apple Human Interface Guidelines catalog, mapped to its Decimal Mobile section.

HIG componentDecimal MobileStatusNote
Action sheetsAction sheetDocumented
Activity rings / gaugesActivity and progress indicatorsDocumented
Activity views (share sheet)—Use system UIUse UIActivityViewController unchanged.
AlertsAlertDocumented
BoxesCardDocumented
ButtonsButton, Trading buttons, Progressive button, Button group, Icon button, Bookmark and pin toggles, LinkDocumented
ChartsChartsDocumented
CollectionsCarousel and page controlDocumented
Color wells—Not neededNo color picking in this product.
Combo boxesPop-up button (combo box)Documented
Context menusContext menuDocumented
Disclosure controlsDisclosure groupDocumented
LabelsInfo field, Status pill and badgeDocumented
Lists and tablesList (inset grouped), Holdings list (data table)Documented
MenusContext menu, Pull-down buttonDocumented
Navigation barsNavigation barDocumented
Onscreen keyboardsSign in with Face IDDocumented
Page controlsCarousel and page controlDocumented
Path controlsPath (breadcrumbs)Documented
PickersDate picker, Wheel pickerDocumented
PopoversPopover / info tipDocumented
Pop-up buttonsPop-up button (combo box)Documented
Progress indicatorsActivity and progress indicatorsDocumented
Pull-down buttonsPull-down buttonDocumented
Scroll viewsList (inset grouped)Documented
Search fieldsSearch fieldDocumented
Segmented controlsSegmented control, Tabs (use segmented control)Documented
SheetsSheetDocumented
SidebarsSidebar (iPad)Documented
SlidersSliderDocumented
Split viewsSplit view (iPad)Documented
SteppersStep trackerDocumentedDecimal step tracker. The HIG numeric +/− stepper is not used.
Tab barsTab barDocumented
Text fieldsText field, Amount inputDocumented
Text viewsText viewDocumented
TogglesToggle, Checkbox (checkmark list), Radio (single-select list)Documented
Token fieldsToken fieldDocumented
ToolbarsToolbarDocumented
Web views—Use system UIUse SFSafariViewController for external links.
Widgets / Live Activities—Not neededOut of scope for v1.

Open questions for the Decimal DS team

Decisions this site made where Decimal has no mobile guidance yet, plus differences found between the Decimal Figma library and the CDN tokens.

  • Typeface on iOS. Decimal font/family/base is Roboto. This site uses Roboto on iOS too; Apple apps usually use SF Pro. Keep Roboto for brand, or switch iOS to SF Pro?
  • Mobile control size. Decimal web L is 40px. Mobile L is 48 (one unit step up) so buttons and fields meet 44pt / 48dp targets. Should Decimal add an official mobile size?
  • Figma vs CDN drift. color/surface/2 is #f2f3f5 in Figma but resolves to #E6E8EB (slate-10) on the CDN. utility/supplemental/1 is 10/10 in Figma but 8/8 on the CDN. Glyph colors differ slightly (#2a2a2b vs #2B2B2B, #131313 vs #141414). Which is correct?
  • Drop shadow "high". CDN effect/dropshadow/y/high is 40px with 12px blur, larger than extra-high (8px / 16px). Looks like a token error; this site uses low, medium and extra-high only.
  • Scrim. Decimal has no semantic scrim token. Using --color-slate-A40-100.
  • Charting tokens. The Figma "Charting & Illustration" palettes are not on the CDN. Series colors temporarily map to primitives.
  • Production CDN. Tokens load from a test S3 bucket (tests3-cdn). What is the production Decimal token URL?
  • Sheet and dialog corners. Decimal corners max out at 8 (besides pills). Sheets and dialogs use platform-like 12–16 corners. Approve or override?
  • Button: Mobile L (48) adds one unit step over Decimal web L (40). Corner is Decimal corner-m (4px): one step softer than Decimal web buttons (corner-s, 2px) and far from the 12px used in the previous kit.
  • Text field: Decimal fields keep the label above the box on both platforms (not the M3 floating label). Box height is Mobile L (48).
  • Toggle: iOS "on" uses Decimal constructive (success) fill to match the platform convention; Android uses the Decimal primary fill. DS team to confirm.
  • Sheet: decimal-drawer (side panel on web) becomes a bottom sheet on phones.
  • Holdings list (data table): Data tables do not fit on phones. decimal-data-table maps to a 2-column row (name left, value right) with a sticky header; tap opens detail.
  • Regulatory disclosure: Disclosure copy must come from Compliance. This block only defines layout.
  • Charts: Charting colors map to Decimal primitives until charting tokens ship on the CDN.