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

10 — Interaction Specification (Organizations Module)

Module specialization of 00-shared/08. Covers every input modality for the 8 screens. Motion tokens M = 00-shared/08 §4-5; haptics §3.


1. Touch gestures (phone/tablet)

GestureBehaviourWhere
TapPrimary action, ripple m-fast (150 ms)Rows, chips, switches, CTAs everywhere
Long-pressContext menu (AppMenu)Tenant row (S7), member row (S6), flag row (S5, delete)
Double-tapNothing module-specific (no media)
Swipe left/rightNone — destructive actions are menu+confirm only (delete is typed-confirm)S7/S8
Pull downRefresh (bypasses cache)S1, S4 (tab content), S5, S6, S7
PinchNone
Hardware back / gesturePop to previous; from S2/S3/S4 with unsaved changes → unsaved-guard dialog; root tab → shellS2/S3/S4
Edge swipeDrawerShell
Tap outside sheetDismiss timezone/currency pickers (returns value if selected)S2

2. Desktop/web (mouse + keyboard)

InputBehaviour
Hoverm-fast tint + tooltip ≥500 ms on all icon buttons (Edit, Branding, Info, row menus)
Right-clickContext menu = long-press menu (S7/S6/S5 rows)
WheelScroll lists; Ctrl+wheel zoom on logo preview (S3)
ESCCloses menu/sheet/dialog/typed-confirm; cancels search (S7 clears q)
Tab/Shift+TabLogical focus: toolbar → search → filter chips → list → pagination; visible primary ring 2dp (A §6)
EnterSubmit focused form (S2/S4/F1); in dialog: confirms
Ctrl/Cmd+EnterSubmit settings "Save all" from text areas
NNew tenant (S7) — 00-shared/05 §7
Ctrl+KGlobal search (shell)
ArrowsNavigate menus, dropdowns, day chips (S4)
SpaceToggle focused switch/chip

3. Haptics (mobile)

EventHaptic
Save success (S2/S3/S4/F1)lightImpact
Save/toggle error + rollbackmediumImpact
Long-press menu openselectionClick
Pull-to-refresh completionlightImpact
Typed-confirm (delete) submitheavyImpact
Toggle flip successlightImpact (single, not per toggle burst)

Off when system haptics disabled; none on web/desktop (M §3).

4. Motion language (module)

TransitionTokenDetail
Screen enter/exitm-base 250 msslide-forward; forms slide-reverse on back
Skeleton→contentm-slow 400 ms cross-fadeno pop
Hero: list row → tenant detailm-slowlogo avatar flight (S7→S8)
Tab switchm-baseindicator slide
Toggle switchm-faststandard M3 switch; row dim + spinner swap via AnimatedSwitcher
Dirty dot appearm-fast scale-popS4 tabs
Section expand (flags by module)m-baseAnimatedSize, chevron rotate
Color preview changem-fastAnimatedContainer on swatch/preview panel
Dialog/sheetm-basescale+fade in, slide-down dismiss
Snackbarm-baseslide-up, queue single (00-shared/03 §A)
Infinite-scroll loaderm-instant fadeS7
Staggerm-entrance 300 ms, 40 ms staggerS2/S8 form sections (first view only)

Reduced motion: all of the above collapse to fades ≤ m-instant; no stagger, no shimmer, no hero flight, no parallax (A §8, M §4).

5. Micro-interaction catalogue (module additions)

InteractionDetail
Row pressInk ripple + 2% surface darken within 100 ms (M §6)
Status badge changescale-pop + icon morph (AnimatedSwitcher)
SlugPreviewmono text updates per keystroke (debounce 150 ms) with "use this" appearing
Save successbrief check icon in CTA (400 ms) → snackbar
Typed-confirmdestructive button disabled until typed text equals org name; heavyImpact on enable

6. Frustration controls

  • Every interactive element responds ≤100 ms; all network actions show pending state.
  • Anti-double-submit on every CTA and every flag toggle.
  • 429 → countdown text, no auto-retry (07_API_Conventions.md §4).
  • No full-screen flashes; ripple only (M §6).