1.0.0-beta.6
Adds FAB, FlipCard, and Timeline — a floating action button that expands into portal-rendered actions, a spring-driven 3D flip card, and a composable vertical event chronology.
The sixth beta of HeroUI Native Pro introduces three brand-new components: a portal-rendered FAB that expands into a list of actions with automatic screen-aware placement, a FlipCard that flips between two faces with a spring-driven 3D rotation, and a Timeline for event histories, activity logs, and milestone feeds. All three follow the same compound-component and animation-cascade conventions as the rest of the Pro library and slot into the existing Buttons and Data Display categories.
Try It on Your Device
Installation
Follow the installation guide to authenticate the private registry with your HEROUI_PERSONAL_TOKEN, install heroui-native-pro, and wire up HeroUINativeProvider.
What's New
New Components
This release introduces 3 new components across buttons and data display:
- FAB: Floating action button that expands into a list of actions with automatic content placement, portal rendering, and a shared open/close animation. (Documentation)
- FlipCard: Pressable card that flips between a front and back face with a spring-driven 3D rotation. (Documentation)
- Timeline: Composable event-history component for feeds, activity logs, and vertical milestone chronologies. (Documentation)
FAB
A floating action button that toggles a list of actions. The root resolves placement and align automatically from the trigger's screen position — a FAB in the bottom-right corner opens upwards with end alignment, a FAB in the top-left opens downwards with start alignment — and drives a shared [idle, open, close] progress that orchestrates the overlay, items, and trigger rotation. Content renders in a portal (backed by FullWindowOverlay on iOS) so it floats above everything else on screen.
Features:
- Compound parts —
FAB.Trigger,FAB.Portal,FAB.Overlay,FAB.Content,FAB.Item, andFAB.ItemLabel - Automatic
placementandalignresolution from the trigger's screen position, with manual overrides supported - Staggered or simultaneous item appearance via
itemsAppearance, with a tunableanimation.stagger.itemWindowfor stagger intensity - Progress-driven animations on the trigger rotation, overlay opacity, and per-item
translate/scale useFABanduseFABAnimationhooks for controlled state and custom backdrops (e.g. a blur backdrop built onexpo-blur)- iOS
FullWindowOverlayportal support through the optionalreact-native-screenspeer dependency - Cascading
animation="disable-all"to skip animation across the entire subtree
Usage:
import { FAB } from "heroui-native-pro";
export function Example() {
return (
<FAB className="absolute bottom-6 right-6">
<FAB.Trigger>
<PlusIcon />
</FAB.Trigger>
<FAB.Portal>
<FAB.Overlay />
<FAB.Content>
<FAB.Item onPress={handleNewMessage}>New message</FAB.Item>
<FAB.Item onPress={handleNewLabel}>New label</FAB.Item>
</FAB.Content>
</FAB.Portal>
</FAB>
);
}For complete documentation and examples, see the FAB component page.
FlipCard
A pressable card that flips between two faces with a spring-driven 3D rotation. Tapping the root toggles the flip state (controllable via isFlipped + onFlipChange or uncontrolled via defaultFlipped), and the off-screen face is removed from hit testing and the accessibility tree so hidden interactive content can't intercept touches. Use it for reveal interactions on cards — think travel destinations, trading cards, or hidden statistics.
Features:
- Compound parts —
FlipCard.FrontandFlipCard.Back - Controlled (
isFlipped+onFlipChange) and uncontrolled (defaultFlipped) modes, withisPressDisabledto opt out of tap-to-flip - Configurable
direction("horizontal"= rotateY,"vertical"= rotateX) androtation("normal"/"reverse") - True 3D feel with perspective and a mid-flip scale dip that de-emphasizes the flat edge
- Accessibility: off-screen face is hidden via
accessibilityElementsHiddenandimportantForAccessibility; the root exposesaccessibilityRole="button"and its selected state - Customizable flip spring through
animation.progress.springConfig, with"disable-all"and per-face"disabled"escape hatches useFlipCardanduseFlipCardAnimationhooks for advanced consumers building custom progress-driven parts
Usage:
import { FlipCard } from "heroui-native-pro";
export function Example() {
return (
<FlipCard className="aspect-[1.3]">
<FlipCard.Front>{/* front face content */}</FlipCard.Front>
<FlipCard.Back className="bg-surface-secondary p-6">
{/* back face content */}
</FlipCard.Back>
</FlipCard>
);
}For complete documentation and examples, see the FlipCard component page.
Timeline
A composable event-history component for feeds, activity logs, and vertical milestone chronologies. The root manages size, density, and default itemAlign context, and connectors use per-item layout measurements to bridge variable-height rows without hard-coding gaps.
Features:
- Compound parts —
Timeline.Item,Timeline.Leading,Timeline.Rail,Timeline.Marker,Timeline.Connector,Timeline.Content,Timeline.Title, andTimeline.Description - Per-item
statustones —"default","muted","current","success","warning", and"danger"— drive the marker color size("sm"/"md"/"lg") anddensity("compact"/"comfortable") scale markers, text, and vertical rhythm together- Optional
Timeline.Leadingcolumn for timestamps or short metadata to the left of the rail - Connectors are positioned via layout measurements so they bridge variable-height items cleanly, and are automatically omitted on the first item
- Custom markers via icon children on
Timeline.Marker; connector can be forced on item 0 withforce - Built on a lower-level primitives layer (
src/primitives/timeline) with a styled Uniwind layer on top
Usage:
import { Timeline } from "heroui-native-pro";
export function Example() {
return (
<Timeline density="compact" size="sm">
<Timeline.Item status="success">
<Timeline.Rail />
<Timeline.Content>
<Timeline.Title>Order placed</Timeline.Title>
<Timeline.Description>We received your order.</Timeline.Description>
</Timeline.Content>
</Timeline.Item>
<Timeline.Item status="current">
<Timeline.Rail />
<Timeline.Content>
<Timeline.Title>Processing</Timeline.Title>
<Timeline.Description>Preparing your items.</Timeline.Description>
</Timeline.Content>
</Timeline.Item>
</Timeline>
);
}For complete documentation and examples, see the Timeline component page.
Updated Documentation
The following documentation pages have been updated to reflect the changes in this release:
- FAB — New component page covering auto placement, manual overrides, staggered vs. simultaneous item appearance, controlled state, custom blur backdrops, and animation configuration
- FlipCard — New component page with horizontal / vertical directions, reverse rotation, controlled mode, and custom spring configuration
- Timeline — New component page covering statuses, leading columns, custom markers, sizes, and density variants
Links
1.0.0-beta.7
Adds the Brutalism theme and extracts every component's styles into overridable BEM CSS, so a single import can restyle the entire library.
Fitness App v1.0.0
A HeroUI Native Pro template — Stride, a workout & activity app with activity rings, a program library, full in-session logging, and a celebratory summary screen.