Module → design-system mapping. Tokens in 00-shared/02 , components in
00-shared/03 , mapping method in 00-shared/04 . This file adds webhook
specifics only.
Domain state Token role Component usage
success (webhook-delivery-log.schema.ts:20)successAppBadge success; metric green
failed (same)dangerAppBadge danger; metric red + pulse; retry affordance
pending (same)warningAppBadge warning amber; metric amber
webhook enabled: true (webhook.schema.ts:22-23) successbadge "Active"
webhook enabled: false neutralbadge "Paused"
no deliveries yet neutralempty state icon
Rules: color never alone - text label always present (00-shared/09 ).
Content Token (00-shared/02 )
Screen titles / AppBar text-lg / text-xl semibold
Webhook name (list, detail) text-md semibold
URL text-sm monospace (fontMono), muted
Event chips text-sm label in chip
Delivery log eventType text-sm monospace
Payload / responseBody code blocks text-xs monospace, surface-muted background
Metrics counts text-2xl tabular-nums
List rows: 16 dp padding, 8 dp between sections.
Create/edit form: AppCard 16 dp padding, field spacing 16 dp.
Metrics grid: 2 columns (12/24) on phone, 4 on tablet.
Dialog width ≤ 360 dp; bottom sheet ≤ 80% height (payload scroll).
Concept Icon
Webhook (list tile leading) globe/webhook glyph
Active check-circle
Paused pause-circle
Delivery status icons clock (pending), check (success), alert (failed)
Actions send (test), replay (retry), eye/eye-off (secret), copy
Code blocks: surface-muted with text-on-surface; status badges keep token
pairs - no raw hex anywhere (00-shared/02 ).
Monospace URL contrast ≥ 4.5:1 on both themes.
Interaction Token
chip toggle, snackbar, badge cross-fade m-fast (150 ms)
screen push, sheet rise, row fade-in m-base (250 ms)
failed-count attention pulse m-slow (400 ms), disabled on motion-reduce
Module widget (07 ) Base components Shared counterpart
EventPickerChipFieldAppChips grid + AppTextField (custom input)00-shared/03 chips
SecretFieldAppTextField + icon buttons-
DeliveryLogTileAppListTile + AppBadge-
MetricsTileAppStatTile × 400-shared/03 stats
SignatureVerifyCardAppCard + monospace blocks-