Expokit
AboutDocsComponentsChartsBlocksPricing
Sign inGet started
All components

Inputs

CalendarNewDate PickerNewFloating InputOTP InputPassword InputSearch BarSelectSliderStepperTag InputTextareaTime PickerNew

Selection

CheckboxChip GroupColor SwatchProRadio GroupRatingProSegmented ControlSwitch

Buttons

ButtonFloating Action ButtonProLike ButtonProMorph ButtonProShimmer ButtonProSlide to ConfirmProStateful Button

Feedback

AlertProgressSkeletonSpinnerToast

Overlays

Action SheetNewBottom SheetDialogDrawerNew

Display

AccordionAvatarBadgeCardCarouselProList ItemNewPagination DotsNewSwipeable RowProTimelineNew

Navigation

Bottom NavNewProgress StepsNewTabs

Motion

Number TickerProText Animation
Floating Action Button
Sponsor ExpoKit

Free stays free. Tip once — keep shipping.

Support
About
Docs
IntroductionWhat ExpoKit is and how it worksInstallationAdd ExpoKit to an Expo appThemingColours, radius and dark modeCLIinit, add, login and updateAI assistants (MCP)Cursor, Claude, Antigravity and moreRun on your phoneTry components in Expo GoChangelogWhat shipped recently
npx @expokit/cli@latest initQuick start
Components
Liquid Glass8 iOS 26 glass pieces3DNew14 tilt, flip and stack
Inputs 12
  • CalendarNew
  • Date PickerNew
  • Floating Input
  • OTP Input
  • Password Input
  • +7 more
Selection 7
  • Checkbox
  • Chip Group
  • Color SwatchPro
  • Radio Group
  • RatingPro
  • +2 more
Buttons 7
  • Button
  • Floating Action ButtonPro
  • Like ButtonPro
  • Morph ButtonPro
  • Shimmer ButtonPro
  • +2 more
Feedback 5
  • Alert
  • Progress
  • Skeleton
  • Spinner
  • Toast
Overlays 4
  • Action SheetNew
  • Bottom Sheet
  • Dialog
  • DrawerNew
Display 9
  • Accordion
  • Avatar
  • Badge
  • Card
  • CarouselPro
  • +4 more
Navigation 3
  • Bottom NavNew
  • Progress StepsNew
  • Tabs
Motion 2
  • Number TickerPro
  • Text Animation
70 components · 347 live variantsAll components
Charts

Cartesian

  • Area Chart
  • Bar Chart
  • Line Chart
  • Combo Chart

Circular

  • Pie & Donut
  • Radial Chart
  • Radar Chart
  • Polar AreaPro

3D & Pixel

  • Isometric BarsPro
  • Pixel BarsPro

Specialty

  • TreemapPro
  • WaterfallPro
  • BulletPro
  • TimelinePro
  • Gauge
  • Candlestick
  • Heatmap
  • Funnel

Classic

  • Sparkline
  • Progress Rings
  • MultiLine (classic)
  • StackedBar (classic)
  • Ranking Bars (classic)

Guides

  • Usage & config
  • Patterns & effects
  • Show / hide anything
  • Chart theming
  • Interactions
23 charts, built on the open-source expo-charts engineAll charts
Blocks

Screens

ChatProAn AI assistant chat screenCheckoutProA premium checkoutDashboardProA finance / analytics home screenInboxProA messaging inboxOnboardingProA minimal swipeable welcome flowProfileProAccount profile for any appSearch ResultsProA clean, monochrome search screenSettingsProAn iOS-style grouped settings screenSign InProOne configurable sign-in flow modelled on top mobile apps
9 complete screens — drop one in, wire your dataSee them on devices All blocks
Pricing
DocsComponentsButtonsFloating Action Button

Floating Action Button

A floating action button that fans out a staggered speed dial as its plus turns to ×.

Pro<Fab />8 variantsiOS · Android · Expo Go
9:41

Sunday 18 October

9:41

Installation#

One command copies the source into your app — you own the code and can change anything.

Usage#

Colours, radius and light / dark come from useKit(). Wrap your app in <KitProvider accent="#6366f1" radius={14}> to re-skin every component at once.

Props#

PropTypeDefault
actions

Speed-dial items, bottom → top (arc: first → last). icon can be a node or ({ color }) => node; with color the icon colour contrasts automatically. Omit for a plain FAB.

{ label, icon, onPress?, color? }[]—
onPress

Called when there are no actions.

() => void—
icon

Main icon (rotates 135° when open). A function is re-coloured as the button turns neutral when open.

ReactNode | ({ color }) => ReactNodeplus
label

Makes it an extended FAB (icon + label).

string—
extended

Set false (e.g. while scrolling) to collapse the label into a circle.

booleantrue
open / onOpenChange

Controlled speed dial (or use defaultOpen).

boolean—
defaultOpen

Speed dial starts open when uncontrolled.

booleanfalse
layout

Labelled column, or mini buttons fanned out on a quarter circle (half circle for bottom-center). Arc hides the chips; labels stay as accessibility labels.

"list" | "arc""list"
position

Corner of the parent it sits in.

"bottom-right" | "bottom-left" | "bottom-center""bottom-right"
variant

accent: solid fill + same-colour glow; gradient: opt-in two-tone; tonal: soft tinted surface; primary / secondary: theme surfaces.

"accent" | "gradient" | "tonal" | "primary" | "secondary""accent"
size

Main button 40, 56 or 64pt (speed-dial buttons 36 / 42 / 46pt).

"sm" | "md" | "lg""md"
color

Tint for accent, gradient and tonal; glow, foreground (and the opt-in gradient stops) are derived from it.

stringtheme accent
backdrop

Dim the parent while open; tap to close.

booleantrue
pulse

Looping attention ring (skipped with Reduce Motion), e.g. for empty-state calls to action.

booleanfalse
offset

Distance from the parent's edges.

number20
rotate

Rotate the icon into × when open.

booleantrue
haptics

Tap on toggle.

booleantrue
style

Style for the absolutely positioned stack holding the main button and list actions.

StyleProp<ViewStyle>—

Behaviour & accessibility#

Touch
Tapping the button opens the speed dial over an optional dimmed backdrop; tapping the backdrop closes it. Without actions it just calls onPress.
Motion
Actions spring out one after another as a labelled list or an arc. An extended FAB springs between a pill and a circle, and pulse loops a ring around it.
Reduced motion
The pulse ring stays off when reduce motion is on.
Haptics
A light impact when the button opens or closes the dial, or fires onPress.
Screen readers
The main button and each action are buttons; the main button reads "Open actions" / "Close actions" with an expanded state when it has a dial.

Source#

PreviousButtonNextLike Button

Did you like the content?

9:41

Sunday 18 October

9:41

Pro component Pro

Sign in with a Pro account to try it live, copy the source and install it with the CLI.

Sign in See pricing

The install command is part of ExpoKit Pro Pro

Sign in with a Pro account to try it live, see the source and install it with the CLI.

See pricingSign in

The usage example is part of ExpoKit Pro Pro

Sign in with a Pro account to try it live, see the source and install it with the CLI.

See pricingSign in

The source is part of ExpoKit Pro Pro

Sign in with a Pro account to try it live, see the source and install it with the CLI.

See pricingSign in