UNPKG

react-native-liquid-view

Version:

A sleek, modern React Native component that brings Apple's iOS 26 Liquid Glass design language to your mobile apps

177 lines (136 loc) 6.4 kB
# react-native-liquid-view 🧊 A sleek, modern React Native component that brings Apple's revolutionary **iOS 26 Liquid Glass** design language to your mobile apps. Create stunning frosted-glass (glassmorphism) overlays with translucent materials that reflect and refract their surroundings, delivering a new level of vitality and focus to your content. ## ✨ iOS 26 Design Language Inspired by [Apple's iOS 26 announcement](https://www.apple.com/newsroom/2025/06/apple-elevates-the-iphone-experience-with-ios-26/), Liquid Glass is a new translucent material that: - **Reflects and refracts** its surroundings for dynamic visual depth - **Brings greater focus** to content with enhanced vitality - **Provides stunning customization** options with clear, glass-like effects - **Adapts fluidly** to available space and content - **Maintains instant familiarity** while being more expressive and delightful ## 🚀 Installation ```sh npm install react-native-liquid-view ``` ## 📱 Usage ### Basic Implementation ```tsx import React from 'react'; import { Text, ImageBackground } from 'react-native'; import { LiquidGlassView } from 'react-native-liquid-view'; export default function App() { return ( <ImageBackground source={{ uri: 'your-background-image.jpg' }} style={{ flex: 1 }} > <LiquidGlassView blurIntensity={30} blurStyle="light" overlayColor="rgba(255, 255, 255, 0.15)" style={{ margin: 20, padding: 20, minHeight: 200, }} > <Text style={{ fontSize: 24, fontWeight: 'bold', color: '#333' }}> iOS 26 Liquid Glass Effect </Text> <Text style={{ fontSize: 16, color: '#666', marginTop: 10 }}> Beautiful translucent material that reflects and refracts </Text> </LiquidGlassView> </ImageBackground> ); } ``` ### Using Predefined Presets ```tsx import { LiquidGlassView, LiquidGlassPresets } from 'react-native-liquid-view'; // Subtle glass effect <LiquidGlassView {...LiquidGlassPresets.subtle}> <Text>Subtle glass content</Text> </LiquidGlassView> // Prominent glass effect <LiquidGlassView {...LiquidGlassPresets.prominent}> <Text>Prominent glass content</Text> </LiquidGlassView> // Dark glass for light backgrounds <LiquidGlassView {...LiquidGlassPresets.dark}> <Text>Dark glass content</Text> </LiquidGlassView> ``` ## 🛠 Props | Prop | Type | Default | Description | | --------------------- | ---------------------------------------------- | ---------------------------- | --------------------------------------- | | `children` | `React.ReactNode` | - | Content to render inside the glass view | | `blurIntensity` | `number` | `20` | Blur intensity (0-100) | | `blurStyle` | `'light' \| 'dark' \| 'xlight' \| 'prominent'` | `'light'` | Style of the blur effect | | `overlayColor` | `string` | `'rgba(255, 255, 255, 0.1)'` | Overlay color in RGBA format | | `style` | `ViewStyle` | - | Additional styles for the container | | `rounded` | `boolean` | `true` | Whether to apply rounded corners | | `borderRadius` | `number` | `16` | Border radius value | | `accessibilityLabel` | `string` | `'Liquid glass background'` | Accessibility label | | `animated` | `boolean` | `false` | Whether to apply animation effects | | `refractiveIntensity` | `number` | `0.1` | Intensity of refractive effect (0-1) | ## 🎨 Predefined Presets The library includes several predefined presets that follow iOS 26 design guidelines: - **`LiquidGlassPresets.subtle`** - Light, barely-there effect - **`LiquidGlassPresets.standard`** - Balanced glass effect - **`LiquidGlassPresets.prominent`** - Strong, prominent effect - **`LiquidGlassPresets.dark`** - Dark glass for light backgrounds ## 🔧 Platform Support - **iOS**: Full native blur support with backdrop filters - **Android**: Graceful fallback with enhanced shadows and overlays - **Web**: CSS backdrop-filter support where available ## ♿ Accessibility The component includes built-in accessibility features: - Screen reader support with customizable labels - Proper accessibility roles and importance - No interference with child component accessibility ## 🎯 Examples ### Card Interface ```tsx <LiquidGlassView blurIntensity={25} blurStyle="prominent" style={{ margin: 16, padding: 20 }} > <Text style={{ fontSize: 18, fontWeight: '600' }}>Card Title</Text> <Text style={{ marginTop: 8, opacity: 0.8 }}> Card content with glass background </Text> </LiquidGlassView> ``` ### Navigation Bar ```tsx <LiquidGlassView blurIntensity={40} blurStyle="xlight" rounded={false} style={{ position: 'absolute', top: 0, left: 0, right: 0, height: 100, paddingTop: 50, paddingHorizontal: 16, }} > <Text style={{ fontSize: 20, fontWeight: 'bold' }}>Navigation</Text> </LiquidGlassView> ``` ## 🎨 Design Philosophy This component embraces Apple's iOS 26 design principles: 1. **Liquid Glass Material** - Translucent surfaces that interact with light 2. **Spatial Depth** - Layered interfaces with proper visual hierarchy 3. **Expressive Design** - More personality while maintaining familiarity 4. **Vitality** - Dynamic, living interfaces that respond to content ## 🤝 Contributing See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow. ## 📄 License MIT --- Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob) _Inspired by Apple's iOS 26 Liquid Glass design language_