Expokit
DocsComponentsChartsBlocksPricing
Sign in
Get Pro
OverviewGlassProGlass ButtonProGlass CarouselProGlass Nav BarProGlass Search BarProGlass Segmented ControlProGlass SheetProGlass Tab BarProNative bottom tabs (Liquid Glass)

ExpoKit Pro

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

Get Pro
Glass Carousel
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 Glass9 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 10
  • Accordion
  • Avatar
  • Badge
  • Card
  • CarouselPro
  • +5 more
Navigation 3
  • Bottom NavNew
  • Progress StepsNew
  • Tabs
Motion 3
  • Number TickerPro
  • Orb RevealPro
  • Text Animation
73 components · 341 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
DocsGlassGlass Carousel

React Native component for Expo: Glass Carousel

Swipe cards through a liquid-glass lens; tap one to lift it while the rest fall away.

Also known as: liquid glass carousel, full screen card carousel, glass swiper.

Pro<GlassCarousel />2 variantsiOS · Android · Expo Go
9:41

Invites

Glass Carousel

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
data

One card each; the carousel loops.

T[]—
renderItem

Card content (snapshotted). Call onLoad when its images have loaded.

({ item, index, onLoad }) => ReactNode—
renderBackdrop

Layer under the content, blurred toward the bottom.

({ item, index, onLoad }) => ReactNode—
renderBackground

Full-size layer behind the carousel; cross-fades between items as you scroll.

({ item, index }) => ReactNode—
keyExtractor

React key for each card.

(item: T, index: number) => stringindex
itemLabel

What screen readers say for a card.

(item: T, index: number) => string'Card N'
cardHeight

Card height; shrinks to fit short screens.

number520
aspect

Card width ÷ height.

number0.66
gap

Space between cards.

number12
radius

Card corner radius.

numberkit radius.scale(28)
lens

Strength of the glass bend, 0–1.

number1
index

Controlled centre card; turns the shortest way round.

number—
defaultIndex

Uncontrolled initial card.

number0
onIndexChange

Fires when the centre card changes.

(index: number) => void—
onFocusChange

The centre card opened or closed.

(open: boolean, index: number) => void—
extraData

Change it to snapshot every card again.

unknown—
children

Drawn above the carousel: a header, buttons.

ReactNode—
style

Root style; give it a screen or a tall card.

StyleProp<ViewStyle>flex: 1

Behaviour & accessibility

Touch
Drag or flick sideways; a flick always moves at least one card. Tap a side card to turn to it and open it, tap the centre card to open it, tap anywhere to close.
Lens
A Skia shader bends the cards at the screen edges, magnified inward with a red/green/blue split. Once the carousel settles, the centre card is drawn sharp.
Snapshots
Each card's content is snapshotted into an image, so keep it static. Call onLoad from your images so the card is captured again once they load; change extraData to capture every card again.
Backdrop
renderBackdrop draws under the content and is blurred in toward the bottom of the card, so text there stays readable over a photo.
Screen readers
One adjustable element ('Sunrise Yoga, 1 of 4'): swipe up or down to change cards; activate and escape open and close.
Reduced motion
Scrolling settles faster and opening jumps straight to its end state.
Web
No view snapshots there: the cards scroll and open the same way as live views, without the lens.

FAQ

How do I make a liquid glass carousel in React Native?
Use ExpoKit's Glass Carousel, a Pro component: with ExpoKit Pro, the ExpoKit CLI copies a ready-made liquid glass carousel 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 Glass Carousel work in Expo Go?
Yes. Glass Carousel runs in Expo Go on iOS and Android with no development build — its packages (@shopify/react-native-skia, react-native-reanimated, react-native-worklets, react-native-gesture-handler) are all included in Expo Go.
How do I add Glass Carousel to my Expo app?
With ExpoKit Pro, add it with the ExpoKit CLI: it copies the component's source into your app and installs @shopify/react-native-skia, react-native-reanimated, react-native-worklets, react-native-gesture-handler, so the code is yours to change. The install command is on this page for Pro members.
Is Glass Carousel free?
Glass Carousel 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 Glass Carousel 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

PreviousGlass ButtonNextGlass Nav Bar

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