uzmaps_ui library

uzmaps_ui — the UzMaps design system.

The Material 3 theme built from brand tokens, motion components, skeletons, the drag-sheet engine, toasts and state views. Everything visual lives here so screens compose instead of styling.

Classes

CountUpText
A number that counts up (or between values) when it changes — route durations and distances feel alive instead of snapping.
EmptyState
The "nothing here" view: icon, message, optionally an action.
ErrorState
An error with an optional retry — the retry re-runs the failing future.
FadeThrough
Fade-through: out with the old (fade + slight scale down), in with the new (fade + scale up). For swapping panel contents in place.
OfflineBanner
The sliding offline banner pinned above the sheet: shows while the server is unreachable, hides itself the moment a check succeeds.
PressableScale
Press feedback for anything tappable: scales to 0.97 with a haptic tick, and back with overshoot. The app's universal "this is a button" feel.
PulseMarker
Expanding pulse rings for the current-location marker and recording badge.
Shimmer
The shimmer behind every skeleton. Draws a moving highlight band over child; a skeleton is a grey shape wrapped in one of these.
Skeleton
Skeleton primitives — grey shapes wrapped in Shimmer.
StaggeredList
Staggered entrance for list children: each item slides up and fades in a beat after the previous one. Wrap the list; it animates once on first build.
UzAvatar
A circular letter avatar for the local profile.
UzButton
The filled action button with press-scale feedback. The app's primary CTA.
UzCard
A floating surface card over the map — the standard container.
UzChip
A category chip that morphs between states instead of snapping.
UzColors
The brand palette.
UzDragSheet
A draggable bottom sheet that lives in the tree — not a modal — so the map stays interactive beside it.
UzIcons
Icon mappings — result kinds, category ids and route manoeuvres to glyphs.
UzListRow
A leading-icon row for place facts — address, phone, hours — with optional copy.
UzMotion
Motion is a language, not a pile of durations: entering things decelerate, leaving things accelerate, and cross-fades happen at the standard pace.
UzRadius
Corner radii. Small things get small radii; sheets and cards read as one system.
UzRatingStars
The star rating row, used by the trip journal's "how was your tour?".
UzShadows
The three elevation levels a floating surface can sit at. Over a map, shadows carry the hierarchy — there are no opaque panels behind anything.
UzSpacing
Space, in multiples of 4.
UzStatusPill
A pill for open/closed state, animating between values.
UzTheme
The Material 3 theme built from the brand tokens, light and dark.
UzThemeProvider
Direct access to the brand tokens inside the widget tree, for the moments the Material scheme cannot express (pulse colors, route lines, status pills).
UzToasts
A transient message overlaid at the top of the screen, sliding in and out.

Enums

ToastKind
UzSnap
Snap points as a fraction of available height.

Functions

showUzSheet<T>({required BuildContext context, required WidgetBuilder builder, bool isScrollControlled = true}) → Future<T?>
A modal bottom sheet with the same visual language as UzDragSheet, for flows that do need to block (confirmations, editors).