@likith99/react-native-adaptive-liquid-glass 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
# @likith99/react-native-adaptive-liquid-glass
|
|
2
2
|
|
|
3
|
-
Native iOS Liquid Glass surfaces and UIKit action controls, with ordinary Android counterparts. No Expo dependency. React Native 0.81
|
|
3
|
+
Native iOS Liquid Glass surfaces and UIKit action controls, with ordinary Android counterparts. No Expo dependency, and no runtime dependencies at all. React Native 0.81+ / React 19 / Fabric; requires Xcode 26+, and iOS 15.1+ (glass on iOS 26+).
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<img src="https://raw.githubusercontent.com/likith099/liquedGlassRecreate/v0.1.1/docs/images/demo.gif" width="280" alt="Screen recording of the demo: tapping a glass button increments a counter, then the action cluster expands into four icons that sit inside the stretching glass, and the live property toggles change the material">
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
Every surface here is a real native view — `UIGlassEffect`, `UIMenu`, `UIToolbar` — not a JavaScript approximation. Glass merging is opt-in, and native menus render checked, disabled and destructive items exactly as the system draws them:
|
|
10
|
+
|
|
11
|
+
<table>
|
|
12
|
+
<tr>
|
|
13
|
+
<td align="center"><img src="https://raw.githubusercontent.com/likith099/liquedGlassRecreate/v0.1.1/docs/images/glass-merging-off.png" width="230" alt="Two separate circular glass surfaces with a Bring together button"><br><sub>Merging off</sub></td>
|
|
14
|
+
<td align="center"><img src="https://raw.githubusercontent.com/likith099/liquedGlassRecreate/v0.1.1/docs/images/glass-merging-on.png" width="230" alt="The same two circular glass surfaces joined by a liquid bridge of material"><br><sub>Merging on</sub></td>
|
|
15
|
+
<td align="center"><img src="https://raw.githubusercontent.com/likith099/liquedGlassRecreate/v0.1.1/docs/images/grouped-menu.png" width="230" alt="A native iOS menu with an Order section containing a checked Most recent item and a Maintenance section with a red Clear history item"><br><sub>Grouped native menu</sub></td>
|
|
16
|
+
</tr>
|
|
17
|
+
</table>
|
|
4
18
|
|
|
5
19
|
## Install
|
|
6
20
|
|
|
@@ -15,9 +29,11 @@ Then rebuild both native apps; a JS-only reload is not enough the first time. Au
|
|
|
15
29
|
|
|
16
30
|
### Requirements
|
|
17
31
|
|
|
18
|
-
The host app must run **React Native 0.81
|
|
32
|
+
The host app must run **React Native 0.81 or newer with the New Architecture (Fabric)** and React 19; these are Fabric codegen components and will not build on the old architecture. Builds are verified on 0.81.5, 0.86.3 and 0.87.1. The peer range has no upper bound: it controls what npm will install, while the tested versions are listed here. iOS needs Xcode 26+ and a **deployment target of iOS 15.1 or higher** — below that CocoaPods refuses to resolve the pod — with native glass on iOS 26+ and standard controls below it.
|
|
33
|
+
|
|
34
|
+
On React Native 0.81 specifically, the app must consume React Native's **prebuilt** iOS dependencies, which is the default (`RCT_USE_RN_DEP=1`) and what Expo SDK 54 does. Building React Native from source on 0.81 fails under Xcode 26 inside `Pods/fmt`, independently of this package. On **React Native 0.87** two defects in React Native itself affect any Fabric library, including this one. React's own `ReactCodegen` target fails to compile in 0.87's default prebuilt mode because its header search path misses the `React_RCTFabric` subdirectory; run `RCT_USE_PREBUILT_RNCORE=0 pod install` to build React from source instead. In an npm workspace, `@react-native/metro-config` nests inside the app rather than hoisting, and `@react-native/community-cli-plugin` cannot `require()` it, so Metro will not start until you declare it in the workspace root.
|
|
19
35
|
|
|
20
|
-
On
|
|
36
|
+
On **iOS 27 the host app must adopt the UIScene lifecycle**, otherwise iOS traps during scene creation before any UI appears; add a `UIApplicationSceneManifest` and a scene delegate that owns the window. Android needs no extra setup. Expo Modules are not used and no router is required.
|
|
21
37
|
|
|
22
38
|
```tsx
|
|
23
39
|
import {GlassView, GlassButton, GlassContainer, GlassActionCluster} from '@likith99/react-native-adaptive-liquid-glass';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@likith99/react-native-adaptive-liquid-glass",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Native iOS Liquid Glass surfaces and controls with standard Android counterparts.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Likith Kanneganti",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
],
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"react": ">=19.0.0",
|
|
48
|
-
"react-native": ">=0.81.0
|
|
48
|
+
"react-native": ">=0.81.0"
|
|
49
49
|
},
|
|
50
50
|
"codegenConfig": {
|
|
51
51
|
"name": "AdaptiveLiquidGlassSpec",
|