MCPcopy
hub / github.com/lodev09/react-native-true-sheet

github.com/lodev09/react-native-true-sheet @v3.11.2 sqlite

repository ↗ · DeepWiki ↗ · release v3.11.2 ↗
316 symbols 735 edges 121 files 23 documented · 7%
README

React Native TrueSheet

CI NPM Downloads Ask DeepWiki

The true native bottom sheet experience for your React Native Apps. 💩

React Native True Sheet - iPad

React Native True Sheet - IOSReact Native True Sheet - AndroidReact Native True Sheet - Web

Features

  • Powered by Fabric - Built on React Native's new architecture for maximum performance
  • 🚀 Fully Native - Implemented in the native realm, zero JS hacks
  • Accessible - Native accessibility and screen reader support out of the box
  • 🔄 Flexible API - Use imperative methods or lifecycle events
  • ⌨️ Keyboard Handling - Built-in keyboard handling with automatic adjustment
  • 📐 Side Sheets - Native side sheet support for iPad and Android tablets
  • 🪟 Liquid Glass - iOS 26+ Liquid Glass support out of the box, featured in Expo Blog
  • 🐎 Reanimated - First-class support for react-native-reanimated
  • 🧭 React Navigation - Built-in sheet navigator for seamless navigation integration
  • 🌐 Web Support - Full web support out of the box

Installation

[!IMPORTANT] Version 3.0+ requires React Native's New Architecture (Fabric) For the old architecture, use version 2.x. See the Migration Guide for upgrading.

Prerequisites

  • React Native 0.81+
  • New Architecture enabled
  • Xcode 26.1+

Compatibility

TrueSheet React Native Expo SDK
3.7+ 0.81+ 54+
3.6 0.80 52-53

Expo

npx expo install @lodev09/react-native-true-sheet

Bare React Native

yarn add @lodev09/react-native-true-sheet
cd ios && pod install

Documentation

Usage

import { TrueSheet } from "@lodev09/react-native-true-sheet"

export const App = () => {
  const sheet = useRef<TrueSheet>(null)

  // Present the sheet ✅
  const present = async () => {
    await sheet.current?.present()
    console.log('horray! sheet has been presented 💩')
  }

  // Dismiss the sheet ✅
  const dismiss = async () => {
    await sheet.current?.dismiss()
    console.log('Bye bye 👋')
  }

  return (
    <View>
      <Button onPress={present} title="Present" />
      <TrueSheet
        ref={sheet}
        detents={['auto', 1]}
      >
        <Button onPress={dismiss} title="Dismiss" />
      </TrueSheet>
    </View>
  )
}

AI Skills

Skills are reusable AI capabilities that give your AI coding agent knowledge about TrueSheet. With the right skill loaded, your agent can pick the right patterns, avoid common mistakes, and generate correct code without you having to explain the library every time.

npx skills add lodev09/react-native-true-sheet

This will install the TrueSheet Usage skill into your project.

That map is awesome!

Yes it is! Checkout @lugg/maps, a universal maps library for React Native that I'm developing at Lugg.

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with ❤️ by @lodev09

Extension points exported contracts — how you extend this code

TrueSheetMethods (Interface)
(no doc) [2 implementers]
src/TrueSheet.types.ts
ButtonProps (Interface)
(no doc)
example/shared/src/components/Button.tsx
StackEntry (Interface)
(no doc)
src/TrueSheetProvider.web.tsx
TrueSheetState (Interface)
(no doc)
src/TrueSheet.tsx
TrueSheetProviderProps (Interface)
(no doc)
src/TrueSheetProvider.tsx
ReanimatedTrueSheetProps (Interface)
(no doc)
src/reanimated/ReanimatedTrueSheet.web.tsx
TrueSheetState (Interface)
(no doc)
src/mocks/index.ts
NativeProps (Interface)
(no doc)
src/fabric/TrueSheetHeaderViewNativeComponent.ts

Core symbols most depended-on inside this repo

pt
called by 68
example/shared/src/components/Map.tsx
present
called by 34
src/TrueSheet.types.ts
tx
called by 26
example/shared/src/components/Map.tsx
ty
called by 26
example/shared/src/components/Map.tsx
isVertical
called by 24
src/web/vaul/helpers.ts
set
called by 21
src/web/vaul/helpers.ts
dismiss
called by 15
src/TrueSheet.types.ts
resize
called by 12
src/TrueSheet.types.ts

Shape

Function 195
Interface 59
Method 56
Class 6

Languages

TypeScript100%

Modules by API surface

src/TrueSheet.tsx34 symbols
src/web/vaul/index.tsx31 symbols
src/TrueSheet.types.ts18 symbols
src/web/vaul/use-prevent-scroll.ts15 symbols
src/mocks/reanimated.ts11 symbols
src/mocks/index.ts10 symbols
src/TrueSheetProvider.web.tsx10 symbols
src/web/vaul/helpers.ts9 symbols
src/TrueSheet.web.tsx9 symbols
example/shared/src/screens/MapScreen.tsx8 symbols
example/bare/src/navigators/SheetNavigator.tsx8 symbols
src/web/vaul/browser.ts7 symbols

Dependencies from manifests, versioned

@babel/core7.28.5 · 1×
@babel/preset-env7.25.3 · 1×
@babel/runtime7.25.0 · 1×
@commitlint/config-conventional19.8.1 · 1×
@docusaurus/core3.9.2 · 1×
@docusaurus/module-type-aliases3.9.2 · 1×
@docusaurus/plugin-google-gtag3.9.2 · 1×
@docusaurus/plugin-vercel-analytics3.9.2 · 1×
@docusaurus/preset-classic3.9.2 · 1×
@docusaurus/tsconfig3.9.2 · 1×
@docusaurus/types3.9.2 · 1×
@eslint/compat1.3.2 · 1×

For agents

$ claude mcp add react-native-true-sheet \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact