git404hub

what is expo-morphing-menu fr?

rit3zh/expo-morphing-menu — explained in plain English

Analysis updated 2026-05-18

114TypeScriptAudience · developerComplexity · 3/5Setup · moderate

tl;dr

A React Native component that morphs a chat-style text composer into a multi-panel attachment picker menu, keyboard-aware and animated.

vibe map

mindmap
  root((Morphing Menu))
    What it does
      Morphing composer menu
      Keyboard aware surface
      Multi panel navigation
      Photo attachment morph
    Tech stack
      TypeScript
      React Native
      Expo
    Use cases
      Chat style composer
      Attachment picker
      Animated photo morph
    Audience
      Mobile app developers
    Setup
      Bun install
      Peer dependencies
      Expo SDK 57

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Add a ChatGPT-style morphing composer menu to a React Native chat app.

VIBE 2

Build a keyboard-aware attachment picker with Camera, Photos, and Files panels.

VIBE 3

Animate a tapped photo from a grid into an attachment thumbnail.

VIBE 4

Give users a controllable menu state to prefetch content when it opens.

what's the stack?

TypeScriptReact NativeExpoBun

how it stacks up fr

rit3zh/expo-morphing-menumetavault-fi/solana-pumpfun-bundleropenfi-dao/kalshi-trading-bot
Stars114114114
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatehardmoderate
Complexity3/54/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires several peer dependencies (Reanimated, Gesture Handler, keyboard controller) and targets Expo SDK 57 specifically.

in plain english

This project is a React Native component library that gives mobile apps a chat style message composer with a menu that morphs into different panels, similar to the attachment picker seen in apps like ChatGPT. Instead of a separate menu sheet sliding up over the text input, the input bar itself smoothly grows and reshapes into the menu surface, changing its width, height, and corner rounding together in one animated motion. The component follows the on screen keyboard as it opens and closes, using a companion library that reports live keyboard height so the composer always sits right above it. Developers can register multiple menu items, such as Camera, Photos, Files, or custom plugins, each paired with its own content panel. Tapping an item morphs the surface into that panel, and a back action returns to the list of items. There is also a feature for morphing a single tapped photo from a grid into an attachment thumbnail using a shared element style animation. Installation is done by cloning the repository and installing dependencies with the Bun package manager, plus a set of underlying libraries for animation, gestures, safe areas, keyboard handling, symbols, and file or image picking. The project targets Expo SDK 57 specifically and points developers to the matching Expo documentation before touching any native code. Usage involves wrapping the app in a keyboard provider, then composing a BottomInput component with nested Trigger, Items, Content, and Attachments pieces. The library exposes props for controlling the menu's open state from outside the component, forwarding props to the underlying text field, and rendering attachment thumbnails above the input. A useBottomInput hook gives any nested component access to the menu's open state and controls. The README documents each component's props in detail as a reference table.

prompts (copy fr)

prompt 1
Help me install expo-morphing-menu and its dependencies in my Expo SDK 57 app.
prompt 2
Show me how to set up a BottomInput composer with Camera, Photos, and Files menu items.
prompt 3
Explain how to control the menu's open state from outside the BottomInput component.
prompt 4
Walk me through adding attachment thumbnails above the composer using BottomInput.Attachments.

Frequently asked questions

what is expo-morphing-menu fr?

A React Native component that morphs a chat-style text composer into a multi-panel attachment picker menu, keyboard-aware and animated.

What language is expo-morphing-menu written in?

Mainly TypeScript. The stack also includes TypeScript, React Native, Expo.

How hard is expo-morphing-menu to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is expo-morphing-menu for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.