Documentation Index
Fetch the complete documentation index at: https://mintlify.com/felipe-software/react-native-jelly-tabs/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Jelly Tabs renders four distinct visual layers: the track surface, the selected pill surface, and the active and inactive content (icons and labels). Each layer has an independent color and opacity you can override — no rebuild required.The TabBarColors interface
Default palette
| Key | Default |
|---|---|
surface | #22211f |
selectedSurface | #f2eee7 |
activeContent | #11100f |
inactiveContent | #b8b4ad |
How the colors prop works
Pass a partial TabBarColors object. Only the keys you supply are overridden; the rest fall back to the defaults above. The merge happens shallowly at the top level of the object.
The TabBarOpacity interface
1. Values are clamped to the range 0–1 before use.
Important: Opacity is applied to the rendered content of each layer, not to the pill mask itself. The animated pill clipping shape remains fully opaque, so reducing selectedSurface opacity will reveal the track beneath the pill without distorting the mask animation.
How the opacity prop works
Like colors, pass a partial object — only include keys you want to change.
Expo Router / React Navigation mapping
When using<JellyTabBar /> with Expo Router or React Navigation, the standard screen options map onto Jelly’s color keys:
| Screen option | Maps to |
|---|---|
tabBarActiveTintColor | colors.activeContent |
tabBarInactiveTintColor | colors.inactiveContent |
tabBarActiveBackgroundColor | colors.selectedSurface |
tabBarInactiveBackgroundColor | colors.surface |
<Screen options={…} /> or screenOptions as usual. A color supplied directly via the colors prop on <JellyTabBar /> takes precedence over the matching screen option.