foundation library

Classes

RenderUiLegibilityShadow
UiAdaptive
Adaptive builder that dispatches by form factor.
UiAnchoredOverlayGeometry
Geometry shared by anchored floating surfaces such as selects, comboboxes, and menus.
UiAnchoredOverlayTapRegion
A non-blocking outside-tap region for anchored overlays.
UiAntPalette
Ant Design v5 primary anchors for its twelve base palettes.
UiApp
Material-free application root.
UiAppContext
UiBootstrapPalette
Bootstrap 5.3 base color anchors for direct migration.
UiBox
Low-level surface primitive.
UiBrand
Runtime brand configuration consumed by UiThemeData.fromBrand.
UiBreakpoints
Default breakpoints used when callers don't override. Picked to match Material 3 / Apple HIG recommendations:
UiClockController
UiClockScope
UiCollapsible
A reusable collapsible region.
UiCollapsibleController
Imperative controller for UiCollapsible.
UiCollectionPatch
Immutable list patch helpers for resource-oriented UI state.
UiColorScale
An immutable 50–950 color scale for migrations from utility-first UI kits.
UiColorTokens
Semantic color tokens.
UiComponentShadow
Paints a soft, theme-aware clearance shadow around a component.
UiConstrained
Loosens incoming layout constraints before applying local size caps.
UiContourController
The single authoritative state and progress owner for a Contour transition.
UiContourCrossfadeController<T>
A reusable, generic cross-dissolve abstraction: when update receives a value whose identity differs from the current one, the old value fades out while the new value fades in over one shared progress timeline — both visible simultaneously mid-transition, neither morphing into the other's geometry or position. See doc/contour.md, "Two kinds of value change."
UiContourMorph
Composes a UiContourController's single progress timeline with UiMeasuredMorph's layout-time geometry solver.
UiContourPhysics
A tokenized amplitude family for Open UI Kit's restrained material motion.
UiContourPresenceController<T>
A generic "optional slot" presence controller: animates a value between absent (null) and present (non-null) on a single UiContourController timeline, retaining the last non-null value while animating out so a consumer never loses its content mid-transition.
UiDirectionalGlyphs
Collection of directional glyphs used by the kit.
UiDirectionalIcons
Direction-aware icon choices for navigation and disclosure affordances.
UiDismissKeyboard
Dismisses the current keyboard focus when the user taps outside a focused control.
UiDivider
Thin neutral divider. Horizontal by default.
UiEffectsBuildConfig
Compile-time controls for excluding expensive visual effects.
UiEffectsTokens
Tokenized limits for computationally expensive visual effects.
UiFadeScaleTransition
Shared fade + scale transition for structural UI motion.
UiFocusRing
A crisp, animated focus ring drawn around a child when visible is true.
UiIntentPalette
Rest-state colors shared by intent-aware surfaces.
UiKeyboardDock
Keeps child visually attached to the keyboard while holding the larger endpoint as fixed layout space for the duration of the transition.
UiKeyboardGeometry
UiKeyboardGeometryOverride
Overrides keyboard geometry for previews, tests, and embedded platform surfaces that already own an IME integration.
UiKeyboardGeometryScope
App-level host for native keyboard geometry.
UiLayeredOverlay
Access to the nearest page-level semantic overlay layers.
UiLayeredOverlayHost
Provides deterministic, semantic overlay ordering within a page.
UiLayeredOverlayPortal
Lifts child into a semantic overlay layer while preserving its layout position with a composited transform.
UiLegibilityShadow
A compact, alpha-following shadow that keeps foreground UI legible.
UiLocalizations
UI-kit string catalogue.
UiLocalizationsAr
Minimal Arabic resource (RTL) demonstrating delegate wiring.
UiLocalizationsEn
English (US) defaults. Also the implicit fallback when no delegate is installed — see UiLocalizations.of.
UiMeasuredMorph
Morphs between two independently measured widget states.
UiMotionDuration
A duration source that can be resolved from semantic theme tokens or an explicit authored value.
UiMotionSpec
A complete, theme-resolved contract for an interruptible transition.
UiMotionTokens
Motion tokens: duration and easing curves.
UiMutationBuilder
UiMutationController
Tracks the lifecycle of a UI-triggered mutation.
UiMutationState
UiNavigationChromeScope
Describes the persistent navigation chrome surrounding a page body.
UiNowBuilder
UiPalette
Raw, context-free colors for media chrome and data visualization. Prefer semantic UiThemeTokens.colorsOf(context) values for UI surfaces.
UiPlatformCapabilities
UiPlatformSnapshot
UiPlatformWindowMetrics
UiPressable
Low-level pressable primitive.
UiPressableState
Interaction states surfaced by UiPressable.
UiProgressBar
Design-system determinate/indeterminate linear progress track.
UiRadiusTokens
Corner radius tokens.
UiRadixPalette
Radix Colors light-theme solid anchors (step 9).
UiResourceStore<T, TId>
A list-shaped store for feature resources such as sessions, invoices, notifications, or any other UI collection with stable ids.
UiScrollConfiguration
Removes platform overscroll decoration without changing scroll physics.
UiSelectableText
Selectable Open UI typography with the widgets-layer selection system.
UiSelector<TState, TSlice>
Rebuilds only when the selected slice changes.
UiShadcnPalette
Familiar shadcn neutral choices and default accent scale.
UiShadowTokens
Elevation shadows tuned for shadcn-style surfaces.
UiSharedMorph
A stable identity for content that should travel between two routes.
UiSharedMorphMotion
UiSlideFadeTransition
Shared slide + fade transition for directional structural UI motion.
UiSpacingTokens
Spacing scale (4pt base).
UiSpinner
Design-system orbital spinner implemented without Material or Cupertino.
UiStackedMotion
Shared depth geometry for stacked overlay surfaces.
UiStackedOverlaySurface
Applies the shared stacked-overlay transform used by drawers and toasts.
UiStore<TState>
Small generic state container for Open UI Kit patterns.
UiStoreScope<TState>
Exposes a UiStore to descendants without coupling them to app state tools.
UiTailwindPalette
Tailwind-compatible sRGB scales, also familiar to shadcn developers.
UiText
Typography primitive.
UiTheme
InheritedWidget host for UiThemeTokens.
UiThemeData
Helpers for building framework-neutral UiThemeTokens.
UiThemeTokens
Aggregate, framework-neutral Open UI Kit tokens.
UiTimeGate
UiTypographyTokens
Semantic typography scale.

Enums

UiClockTickMode
UiContourOvershootPolicy
How a UiContourPhysics response may deform past its resting geometry.
UiContourPhase
The legal states of a Contour transition.
UiEffectsLevel
The visual-effects budget used by Open UI Kit components.
UiFormFactor
Canonical form-factor classifier shared by layout, navigation, and adaptive components.
UiIntent
Semantic emphasis shared by intent-aware UI components.
UiKeyboardAnimationCurve
UiKeyboardGeometryAspect
Independently tracked parts of UiKeyboardGeometry.
UiMotionSpeed
Named duration slots from UiMotionTokens.
UiMutationStatus
UiOverlayLayer
Semantic paint layers managed by UiLayeredOverlayHost.
UiSharedMorphFlightStyle
UiTextTone
Intent drives the resolved color: neutral by default, muted for hints, inverse for on-dark surfaces, danger for errors.
UiTextVariant
Semantic text roles mapped to UiTypographyTokens.
UiThemeAspect
Independently tracked parts of UiThemeTokens.
UiThemeMode
How UiApp picks between its light and dark token sets.
UiTimeGateTransition
UiTransitionOffsetUnit
Unit used by UiSlideFadeTransition offsets.
UiWindowMode

Functions

buildUiContourCrossfade(BuildContext context, {required double progress, Widget? previous, Widget? current, double peakBlurSigma = 8}) Widget
Builds the visual for a UiContourCrossfadeController-driven transition: previous and current cross-dissolve via opacity, with a transient backdrop blur layered on top on platforms where that reads as native (see uiContourPrefersGlassTreatment) — bounded and tier-aware via UiEffectsTokens.scaleBlur, so it already collapses to zero under reduced motion / reduced effects. Pass either endpoint as null to render only the other one, unblurred (nothing to dissolve between).
resolveUiAnchoredOverlayGeometry({required BuildContext context, required GlobalKey<State<StatefulWidget>> targetKey, required OverlayState overlay, required double desiredHeight, required double maxHeight, double? desiredWidth, double minWidth = 0, double crampedAvailableHeight = 0, bool allowOverflowWhenCramped = false}) UiAnchoredOverlayGeometry?
resolveUiEdgeAwareBottomOffset(BuildContext context, {required double minimum, bool reduceSafeArea = true}) double
Resolves a bottom offset for floating components that intentionally sit near the physical screen edge.
resolveUiFloatingWindowChromeLeadingInset(BuildContext context, UiWindowMode? windowMode) double
uiContourCrossfadeBlurFraction(double progress) double
How much blur a Contour cross-dissolve should carry at a given progress, as a 0..1 fraction of a caller-chosen peak sigma. Peaks at the midpoint and resolves to zero at both rest ends — a brief, soft blur while content is mid-swap, not a blur held throughout the transition. This is what reads as "glass" in Apple's own system content transitions (SF Symbols content-transition, tab bar item swaps) rather than a flat cross dissolve.
uiContourPrefersGlassTreatment() bool
Whether the current platform is one where Open UI's glass-like treatments (this transient cross-dissolve blur, backdrop materials elsewhere in the kit) read as native rather than decorative. Android and desktop-non-Apple platforms have their own, flatter system idiom for a content swap; only iOS and macOS carry the "glass" association this blur is standing in for.
uiFormFactorOf(BuildContext context, {UiBreakpoints breakpoints = UiBreakpoints.standard}) UiFormFactor
Read the current UiFormFactor from BuildContext.
uiIsRtl(BuildContext context) bool
Small convenience around Directionality.of for call sites that only care about a boolean RTL flag. Avoids each component having to spell Directionality.of(context) == TextDirection.rtl.

Typedefs

UiItemId<T, TId> = TId Function(T item)
UiItemPredicate<T> = bool Function(T item)
UiItemUpdater<T> = T Function(T item)
UiMutationWidgetBuilder = Widget Function(BuildContext context, UiMutationState state, Widget? child)
UiNowProvider = DateTime Function()
UiPressableBuilder = Widget Function(BuildContext context, UiPressableState state, Widget? child)
UiSelectedStateBuilder<TSlice> = Widget Function(BuildContext context, TSlice value, Widget? child)
UiSelectorShouldRebuild<TSlice> = bool Function(TSlice previous, TSlice next)
UiStateSelector<TState, TSlice> = TSlice Function(TState state)
UiStateUpdater<TState> = TState Function(TState state)