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 (Teachers Module)

Extends 00-shared/04 with module components. Every widget → token → Flutter mapping.


1. Screen → M3 component map

ScreenPrimary widgetsM3 roles
S1 listAppListTile, AppSearchBar, FilterChip, FABsurface, primary, secondaryContainer chips
S1 cards (tablet)AppCard (e-1)surfaceContainerLow
S2 profileAppCard tonal, AppInfoRow, AppTabs, AppBadgeprimaryContainer header, secondaryContainer status
S3 assignmentsAppDropdown, AssignmentCard, AppEmptyStatesurfaceContainerLow, outline
S4 schedulegrid cards, AppSectionHeadersurfaceContainerLow, e-1
S5/S6 formsTextFormField (filled), AppDropdown, FilterChip multi, AppDatePicker, FilledButtonfill surfaceVariant, focus primary, error error
S7 editorAppBottomSheet + pickers, FilledButtonsurfaceContainerHigh, e-5
S8 deactivateAlertDialog, destructive FilledButtonsurfaceContainerHigh, error/onError
S9/S10 selfAppStatTile, AppBanner, gridsecondaryContainer banner

2. Status color semantics (module canon)

EmploymentStatusToken pairRationale
activesuccessContainer/onSuccessContainersuccess role (02 §1.1)
inactivesurfaceVariant/onSurfaceVariantneutral
on_leavewarningContainer/onWarningContainerwarning role
terminatederrorContainer/onErrorContainererror role

Always paired with icon + label (09 §9 color-blind rule).

3. Typography

UseTokenWidget
Screen titleheadlineMediumS1 AppBar
Teacher name (header)titleLargeS2
Row titles / card titlestitleMediumS1 rows, S3 cards
Employee numbermono (FontFeature.tabularFigures, 02 §2)S1 subtitle, S2
Metadata / timestampsbodySmallS2, S6
Buttons, chips, tabslabelLargeeverywhere
Status textlabelMediumStatusChip

4. Spacing & layout tokens

TokenValueUse
Screen padding16 / 24 (tablet+) (04 §6)all screens
Card padding16S2 header, S3 cards
Section gap24S2 sections
Field gap16S5/S6 forms
List row56S1
Tab barstandard M3S2
Dialog cornerr-lg 12S8
Sheet cornerr-xl 16 topS7

5. Elevation

ComponentToken
List rows / flat cardse-0 / e-1
S2 header carde-1
FABe-3
S8 dialoge-4
S7 sheete-5

6. Icons (Material Symbols outlined, filled for status — 02 §7)

IconUse
person_addFAB "Add teacher"
groupslist empty state
menu_bookassignments empty state
edit, person_offrow menu
deletedeactivate
check_circle / pause_circle / beach_access / person_offStatusChip states
filter_listfilter chips toggle
searchsearch

All icons have tooltip or Semantics.label (09 §7).

7. Module-level theming rules

  1. Status colors ONLY via StatusChip (single source of truth).
  2. Employee numbers always mono — consistent identity scanning.
  3. Destructive actions always error token — never custom red.
  4. Assignment "added" confirmation = secondaryContainer banner; duplicates = errorContainer.