Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

11 — Design System Mapping (Parents Module)

Parents module → Material 3 / Flutter / token mapping, extending 00-shared/04. Every color, type, spacing, elevation, radius, icon, motion reference traces to 00-shared/02_Design_Tokens.md.


1. Theme recipes (module)

ScreensThemeException
Admin workspace (list/detail/forms)standard shellprimary accent for FAB + primary-guardian badge
Link sheet / unlink dialogmodal (surfaceContainerHigh)warning states warning/error containers
Parent self-service (my children/profile) (forward-looking)standard shellswitcher selected state primaryContainer
Flags & badgesicon+label always (09 §9)never color-only

2. Widget → token

ComponentM3 / FlutterTokensElevRadius
Parents list rowsListTilesurface, onSurface/onSurfaceVariante-0r-md
Parent header cardAppCardsurfaceContainerLowe-1r-lg
LinkedChildCardAppCardsurfaceContainerLowe-1r-lg
Primary badgecustom BadgeprimaryContainer/onPrimaryContainerr-sm
Relationship chipChip (disabled)surfaceVariant/onSurfaceVariantr-sm
FAB "Add guardian"FloatingActionButton.extendedprimaryContainer, icon primarye-3r-full
Form fieldsTextFormFieldfill surfaceVariant, border outline, focus primaryr-md
Switches (pickup/primary)SwitchListTileprimary selected
Link sheetAppBottomSheetsurfaceContainerHighe-5r-xl top
Unlink dialogAppDialogsurfaceContainerHigh; destructive CTA errore-4r-lg
Warning bannersAppBannertertiaryContainer (duplicate/primary)e-1
SnackbarSnackBarinverseSurfacee-5r-md
Offline bannerAppOfflineBannertertiaryContainere-1
Child switcher chipsFilterChip-styleselected primaryContainer, else surfaceVariantr-full

3. Typography mapping

TokenScreen element
headlineMediumscreen titles (Guardians, My children)
titleLargeheader card names, dialog titles
titleMediumlist titles, section headers, child names
bodyMediumlabels, meta lines
bodySmallflags line, timestamps, hint "end of list"
labelLargebuttons, tabs
labelMediumbadges, chips
monoadmission numbers, IDs

Numerals (priority, income, counts) use FontFeature.tabularFigures() (02 §2).

4. Iconography

Material Symbols outlined; module map: groups (empty list), person_add (FAB), family_restroom, elderly, female, male, verified_user, home_work (relationship icons), star (primary badge), directions_walk (pickup), payments (financial), priority_high (emergency), link/link_off (link/unlink), swap_horiz (switch primary), search (pickers), edit (edit).

5. Motion tokens (values 00-shared/02 §6)

PurposeTokenApplied to
Route transitionsm-baselist↔detail, forms
Hero avatarm-slowlist→detail
Sheet/dialogm-baselink sheet, unlink dialog
Row removal (unlink)m-base fadechildren list
Warning expandm-base AnimatedSizeduplicate/primary banners
Switcher fadem-fastchild switch
Badge popm-fastchildren-count change
Skeleton→contentm-slow cross-fadeall loads

Rules: reduced-motion substitutes fades/instants (08 §4).

6. Contrast & dark parity

  • All text ≥ 4.5:1; interactive chrome ≥ 3:1; focus ring primary 3:1 vs adjacent.
  • Dark: chromatic roles TBD by designer (00-shared/02 §1.4).
  • Flags (pickup/financial/priority) always icon + label — colorblind-safe (09 §9).
  • Warning banners readable in both modes (tertiaryContainer/onTertiaryContainer).

7. Breakpoint behaviour

ClassAdmin workspaceParent self-service
phone <600single column; sheets full-height on keyboardswitcher + single child
600–839list + detail panes (2-column)switcher + detail
≥1200master-detail 320–360 dp list; hover + keyboard shortcutscentered child dashboard ≤ 720 dp

8. Theming rules (enforced)

  1. No literal colors — context.colorScheme.* only (00-shared/04 §7).
  2. No literal spacing/durations.
  3. Tenant branding override affects primary only (badge/CTA adapt automatically).