suiss/uim

Introduction

Copy-paste React Native components with a clean, minimal design, for Expo and React Native.

Overview

suiss/uim is the mobile counterpart of suiss/ui: a set of React Native components for Expo and React Native projects with TypeScript.

The components reach your project through the @esuiss/uim command-line tool. The tool copies each component's source into your project instead of installing it as a dependency.

$ pnpm dlx @esuiss/uim@latest init$ $ npx

Principles

You own the code

Every component lives in components/ui/ in your project. Change the markup, the styles or the behavior without waiting for a release.

Your styling, your choice

Each component ships in three flavors with the same API:

  • Uniwind with Tailwind CSS v4
  • NativeWind v4 with Tailwind CSS v3
  • StyleSheet with plain React Native styles and a useTheme() hook

Native platforms too

The same components are available as SwiftUI and Jetpack Compose source, built from the same design tokens. Pass --platform swift or --platform kotlin to the CLI:

$ pnpm dlx @esuiss/uim@latest add dialog --platform swift$ $ pnpm dlx @esuiss/uim@latest add dialog --platform kotlin

See SwiftUI and Jetpack Compose for requirements and setup.

Same names as the web

Component names, parts and variants mirror suiss/ui, so moving between web and mobile feels familiar.