Skip to content

Phase 4 — UI: composites slot migration + tests + a11y (0.0.11-alpha01)

Import User requested to merge feature/v1-phase4-ui into main

Summary

Lands Phase 4 of the yalla-sdk v1.0 launch initiative. Core delivery is the ADR-017 string→slot migration across 8 composites. Plus AddressCard removal, test coverage for 7 previously-untested UI surfaces, and TopBar / LargeTopBar accessibility labels.

Version bump: 0.0.10-alpha010.0.11-alpha01.

ADRs

  • ADR-017: 8 composites migrated from String params to @Composable () -> Unit slots. Supersedes ADR-005's migration-plan note.

Breaking changes

  • ListItem, IconItem, NavigableItem, SelectableItem, PricingItem, AddressItem (both overloads), Navigable (drawer), EmptyState: all title / subtitle / description / text / name / price / placeholder String params now take @Composable () -> Unit slots. Navigable's titleStyle + descriptionStyle params removed — style is applied via ProvideTextStyle with callers overriding inside their slot.
  • EmptyStateState data class deleted — EmptyState takes three separate slots.
  • AddressCard + AddressCardColors + AddressCardDimens + AddressCardDefaults removed. No call sites in SDK or YallaClient.

Additive

  • Structural-equality tests for 5 composites (Snackbar, SnackbarHost, Navigable, EmptyState, SectionBackground) + 2 primitives (TopBar, LargeTopBar).
  • navigationIconContentDescription: String? = null on TopBar + LargeTopBar (screen-reader label for nav icon).

Lockstep

YallaClient PR for the Phase 4 migration is being prepared at chore/sdk-phase4-uidev (stacks on PR #305 for Phase 3). Link added once opened.

Deferred from this PR (→ follow-ups)

  • Roborazzi scaffold: Phase 6 or dedicated follow-up; orthogonal to the ADR-017 breaking work.
  • Full visual-regression goldens (hundreds of snapshots): separate capture phase.
  • Full accessibility sweep beyond TopBar labels: post-1.0 quality pass.

Pre-1.0 mode

Full-risk: no @Deprecated, no @RequiresOptIn. Direct break.

🤖 Generated with Claude Code

Merge request reports

Loading