Expokit
DocsComponentsChartsBlocksPricing
Sign in
Get Pro
All components

Inputs

CalendarNewDate PickerNewFlip CalendarNewFloating InputOTP InputPassword InputRuler Time PickerProSearch BarSelectSliderStepperTextareaTime PickerNew

Selection

CheckboxChip GroupRadio GroupRatingProSegmented ControlSwitch

Buttons

ButtonFloating Action ButtonProMorphing Button GroupProQR Code ButtonProSlide to ConfirmProStateful Button

Feedback

AlertDrip ToastProProgressSkeletonSpinnerToast

Overlays

Action SheetNewBottom SheetDialogDrawerNew

Display

AccordionAvatarBadgeCardCarouselProGrain GradientNewList ItemNewSwipeable RowProTimelineNew

Navigation

Bottom NavNewProgress StepsNewTabs

Motion

Number TickerProOrb RevealProText Animation

ExpoKit Pro

16 ready-made screens & apps. Copy in and ship.

Get Pro
Drip Toast
Need it custom?Screens or a full app, built by the dev behind ExpoKit.Sponsor ExpoKitFree stays free. Tip once — keep shipping.

ExpoKit Pro is live — launch price is 60% off until 30 NovClaim it

ExpoKit Pro is live — launch price is 60% off until 30 NovClaim it

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 13
  • CalendarNew
  • Date PickerNew
  • Flip CalendarNew
  • Floating Input
  • OTP Input
  • +8 more
Selection 6
  • Checkbox
  • Chip Group
  • Radio Group
  • RatingPro
  • Segmented Control
  • +1 more
Buttons 6
  • Button
  • Floating Action ButtonPro
  • Morphing Button GroupPro
  • QR Code ButtonPro
  • Slide to ConfirmPro
  • +1 more
Feedback 6
  • Alert
  • Drip ToastPro
  • Progress
  • Skeleton
  • Spinner
  • +1 more
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 3
  • Number TickerPro
  • Orb RevealPro
  • Text Animation
71 components · 336 live variantsAll components
Charts

Cartesian

  • Area Chart
  • Bar Chart
  • Line Chart
  • Combo Chart
  • Price ChartNew
  • Pill Bar ChartNew
  • Stacked Pill ChartNew
  • Range Bar ChartNew
  • Diverging Bar ChartNew

Circular

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

Dashboard

  • Stat CardNew
  • Goal BarsNew
  • Bar ListNew
  • Segmented BarNew
  • Tick Bar ChartNew
  • Waffle ChartNew
  • Bead ChartNew
  • Calendar HeatmapNew

Gauges & Progress

  • Gauge
  • Score GaugeNew
  • Activity RingsNew
  • Fan GaugeNew
  • Tick RingNew
  • Liquid GaugeNew
  • Mini RingNew

3D & Pixel

  • 3D DonutNew
  • Cylinder Bar ChartNew
  • Isometric BarsPro
  • Pixel BarsPro

Specialty

  • TreemapPro
  • WaterfallPro
  • BulletPro
  • TimelinePro
  • 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
44 charts, built on the open-source expo-charts engineAll charts
Blocks

Screens

ChatProAn AI assistant chat screenCheckoutProA premium checkoutDashboardProA finance / analytics home screenDonut ShopProA dessert shop screen where the products rollInboxProA messaging inboxOnboardingProA minimal swipeable welcome flowPaywallProAnimated paywall screens people actually readProfileProAccount profile for any appSearch ResultsProA clean, monochrome search screenSettingsProAn iOS-style grouped settings screenSign InProOne configurable sign-in flow modelled on top mobile appsWelcome DeckProA welcome and sign-up screen built around a 3D fan of cards

App templates

  • AI assistant appPro
  • Business banking appPro
  • Food ordering appPro
12 complete screens — drop one in, wire your dataSee them on devices All templates All blocks
Pricing
DocsComponentsFeedbackDrip Toast

React Native component for Expo: Drip Toast

Toasts that drip out of the top of the screen and get sucked back in.

Also known as: dynamic island toast, liquid notification.

Pro<DripToaster />4 variantsiOS · Android · Expo Go
9:41

Stack

Drip Toast

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
drip(title, options?)

Global API. Also drip.success / error / warning / info / loading / promise / dismiss(id?).

(string, DripOptions) => id—
DripProvider / useDrip()

Scoped queue: wrap UI + <DripToaster />, call useDrip() instead of the global drip().

context—
options.description

Drops a card out of the pill with this text.

string—
options.action

Button in the card (dismisses after press).

{ label, onPress }—
options.content

Your own card content instead of description / action.

ReactNode—
options.meta

Small text beside the description (a price, a time).

stringtime
options.icon

Replace the type icon, or false for none.

ReactNode | falsetype icon
options.duration

ms before it leaves; Infinity to keep.

numberToaster duration
options.id

Reuse to update a toast in place.

stringauto
options.dismissible

Tap and swipe dismiss it.

booleantrue
options.toaster

Target a <DripToaster id>.

string—
<DripToaster> position

Edge and side the toasts sit on. Top toasts drip out of the edge; bottom ones rise in.

"top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right""top-center"
<DripToaster> mode

Pile toasts up (tap to fan out), or keep one pill that gulps each toast and drips out the next.

"stack" | "single""stack"
<DripToaster> appearance

Island-black pill or a white one, in either app theme.

"dark" | "light""dark"
<DripToaster> layout

Description and meta on one row, or stacked and aligned.

"spread" | "left" | "center" | "right""spread"
<DripToaster> duration

Default time on screen in ms.

number5000
<DripToaster> visibleToasts

Toasts drawn in the stack.

number3
<DripToaster> expand

Always fanned out.

booleanfalse
<DripToaster> offset / gap / inset

Edge distance, stack spacing and side space.

number8 / 14 / 16
<DripToaster> safeArea

Clear the notch and home indicator (react-native-safe-area-context's insets, when installed).

booleanfalse
<DripToaster> bottomInset

Extra space under a bottom toaster for a tab bar.

number0
<DripToaster> radius

Card corner radius.

numberkit
<DripToaster> fill / stroke

Surface colours.

stringappearance
<DripToaster> showProgress

A line that drains as time runs out.

booleantrue
<DripToaster> showTimestamp

Arrival time beside the description.

booleantrue
<DripToaster> swipeToDismiss

Swipe to dismiss.

booleantrue
<DripToaster> haptics

Notification haptic on success / warning / error.

booleantrue
style

Style for the host that fills its parent.

StyleProp<ViewStyle>—

Behaviour & accessibility

Touch
Tap a lone toast to dismiss it, or a stack to fan it out; swipe any way to dismiss. Timers and the drain line pause while you drag or the stack is open.
Motion
At the top, a toast drips out of the edge on a strand that thins and pinches off, then a card drops out of the pill when there is more to say. Leaving, the card folds up and the pill is sucked back into the edge. In single mode the pill gulps — rises on its strand and drips back with the new toast. At the bottom, toasts rise in. Errors shake once.
Reduced motion
No strand or travel: toasts fade in and out in place, the card snaps open and closed, and the error shake is skipped; fades and the spinner stay.
Haptics
A success, warning or error notification when a toast of that type appears or a promise settles; turn it off with haptics={false}.
Screen readers
Each toast is an alert in a polite live region, labelled by its title and description, with an escape action to dismiss it.

FAQ

How do I make a drip toast in React Native?
Use ExpoKit's Drip Toast, a Pro component: with ExpoKit Pro, the ExpoKit CLI copies a ready-made drip toast into your Expo or React Native app as plain TypeScript you can edit. It works on iOS, Android and web, and in Expo Go.
Does Drip Toast work in Expo Go?
Yes. Drip Toast runs in Expo Go on iOS and Android with no development build — its packages (react-native-svg, expo-haptics, react-native-gesture-handler, react-native-reanimated, react-native-worklets) are all included in Expo Go.
How do I add Drip Toast to my Expo app?
With ExpoKit Pro, add it with the ExpoKit CLI: it copies the component's source into your app and installs react-native-svg, expo-haptics, react-native-gesture-handler, react-native-reanimated, react-native-worklets, so the code is yours to change. The install command is on this page for Pro members.
Is Drip Toast free?
Drip Toast is part of ExpoKit Pro. With a Pro plan, log the CLI in once (npx @expokit/cli@latest login) and it installs the full source into your app.
Can I change how Drip Toast looks?
Yes. It takes its colours, radius and light / dark mode from useKit(), so wrapping your app in <KitProvider accent radius> re-skins it with every other ExpoKit component. The code lives in your project, so you can also edit anything directly.

Source

PreviousAlertNextProgress

Need this tailored to your app?

Custom components, screens or a full Expo app — designed and built by the developer behind ExpoKit.

Custom work

Did you like the content?

9:41

9:41

Pro component Pro

Sign in with a free account to try this component live. The source and CLI install come with Pro.

Sign in to try it See pricing

Pro component

Free account to try it live

Sign inPricing

The install command is part of ExpoKit Pro Pro

See pricingSign in

Manual installation is part of ExpoKit Pro Pro

See pricingSign in

The usage example is part of ExpoKit Pro Pro

See pricingSign in

The source is part of ExpoKit Pro Pro

See pricingSign in