Observed since 20 Oct, 22:01 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
@0610studio/expo-holographic-card
Holographic tilt and flip card component for Expo and React Native
Holographic card components for Expo and React Native. It combines Skia lighting, 3D tilt, tap/swipe flip, and optional device-motion control in one component.
Documentation: https://0610studio.github.io/expo-holographic-card/
Horizontal card
Watch video |
Vertical card
Watch video |
Photo card
Watch video |
npx expo install @0610studio/expo-holographic-card @shopify/react-native-skia react-native-reanimated react-native-gesture-handler expo-sensors
AnimatedCard uses GestureDetector, so wrap your app root with GestureHandlerRootView. If your project needs Reanimated's Babel plugin, add react-native-reanimated/plugin to your Babel config.
import AnimatedCard, { CardOrientation, LightingType } from '@0610studio/expo-holographic-card';
export function CardPreview() {
return (
<AnimatedCard
orientation={CardOrientation.Horizontal}
radius={24}
frontImageSource={require('./assets/card.png')}
lightingType={LightingType.Prismatic}
showTexture
/>
);
}
import { AnimatedCard, CardOrientation, DefaultCardBack } from '@0610studio/expo-holographic-card';
import { Text, View } from 'react-native';
export function CustomCard() {
return (
<AnimatedCard
orientation={CardOrientation.Vertical}
frontImageSource={require('./assets/card.png')}
frontComponent={({ radius }) => (
<View style={{ flex: 1, justifyContent: 'space-between', padding: 24, borderRadius: radius }}>
<Text style={{ color: 'white', fontWeight: '800' }}>HOLO CARD</Text>
<Text style={{ color: 'white', fontSize: 28, fontWeight: '900' }}>HOLO PASS</Text>
</View>
)}
backComponent={({ width, height }) => (
<DefaultCardBack width={width} height={height} />
)}
/>
);
}
pnpm install
pnpm build
pnpm test --runInBand
pnpm --dir example typecheck
pnpm docs:build
Example app:
pnpm example
pnpm example:ios
pnpm example:android
@shopify/react-native-skia.react-native-reanimated and react-native-gesture-handler.DeviceMotion from expo-sensors.MIT
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
@babel/coreEnvironment{
"local_name": "@babel/core",
"alias": false,
"peer_metadata": null
} | ^7.26.0 | development |
@shopify/react-native-skiaEnvironment{
"local_name": "@shopify/react-native-skia",
"alias": false,
"peer_metadata": null
} | 2.6.2 | development |
@types/jestEnvironment{
"local_name": "@types/jest",
"alias": false,
"peer_metadata": null
} | ^29.2.1 | development |
@types/reactEnvironment{
"local_name": "@types/react",
"alias": false,
"peer_metadata": null
} | ~19.2.0 | development |
babel-preset-expoEnvironment{
"local_name": "babel-preset-expo",
"alias": false,
"peer_metadata": null
} | ~56.0.14 | development |
eslintEnvironment{
"local_name": "eslint",
"alias": false,
"peer_metadata": null
} | ~9.39.4 | development |
eslint-config-universeEnvironment{
"local_name": "eslint-config-universe",
"alias": false,
"peer_metadata": null
} | ^15.0.3 | development |
expoEnvironment{
"local_name": "expo",
"alias": false,
"peer_metadata": null
} | ^56.0.7 | development |
expo-sensorsEnvironment{
"local_name": "expo-sensors",
"alias": false,
"peer_metadata": null
} | ~56.0.5 | development |
jestEnvironment{
"local_name": "jest",
"alias": false,
"peer_metadata": null
} | ^29.7.0 | development |
jest-expoEnvironment{
"local_name": "jest-expo",
"alias": false,
"peer_metadata": null
} | ~56.0.4 | development |
prettierEnvironment{
"local_name": "prettier",
"alias": false,
"peer_metadata": null
} | ^3.0.0 | development |
reactEnvironment{
"local_name": "react",
"alias": false,
"peer_metadata": null
} | ^19.2.3 | development |
react-nativeEnvironment{
"local_name": "react-native",
"alias": false,
"peer_metadata": null
} | ^0.85.3 | development |
react-native-gesture-handlerEnvironment{
"local_name": "react-native-gesture-handler",
"alias": false,
"peer_metadata": null
} | ~2.31.1 | development |
react-native-reanimatedEnvironment{
"local_name": "react-native-reanimated",
"alias": false,
"peer_metadata": null
} | 4.3.1 | development |
typescriptEnvironment{
"local_name": "typescript",
"alias": false,
"peer_metadata": null
} | ^5.9.2 | development |
@shopify/react-native-skiaEnvironment{
"local_name": "@shopify/react-native-skia",
"alias": false,
"peer_metadata": null
} | >=2.6.0 | peer |
expoEnvironment{
"local_name": "expo",
"alias": false,
"peer_metadata": null
} | >=56.0.0 | peer |
expo-sensorsEnvironment{
"local_name": "expo-sensors",
"alias": false,
"peer_metadata": null
} | >=56.0.0 | peer |
reactEnvironment{
"local_name": "react",
"alias": false,
"peer_metadata": null
} | * | peer |
react-nativeEnvironment{
"local_name": "react-native",
"alias": false,
"peer_metadata": null
} | >=0.85.0 | peer |
react-native-gesture-handlerEnvironment{
"local_name": "react-native-gesture-handler",
"alias": false,
"peer_metadata": null
} | >=2.31.0 | peer |
react-native-reanimatedEnvironment{
"local_name": "react-native-reanimated",
"alias": false,
"peer_metadata": null
} | >=4.3.0 <5.0.0 | peer |
Source distribution
{
"integrity": "sha512-F+K+C89VpzDlJj1I66Q6Sn2g5mmmgYpuUYUCZvzaNnwjR6rbMRkCS8xiD9/IsgeyZPdq3wJ7n2t0AEBcULUt3g==",
"shasum": "b6cd3ba1b2fe09f348b667849d66dfcfc3dd9ce4",
"tarball": "https://registry.npmjs.org/@0610studio/expo-holographic-card/-/expo-holographic-card-0.1.0.tgz",
"fileCount": 51,
"unpackedSize": 116803,
"signatures": [
{
"keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U",
"sig": "MEYCIQDP61GhIrP9Oc+PZhqr8YyhNoBsU68l5N/TupUmqBeQEwIhAPapEUxrrJ81evFc5SnEh89rX/1hpBVDKgKIgO/oc3lj"
}
]
}Shared repository data · GitHub
Observed since 20 Oct, 22:01 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:c52964e0c19fceaf57510aedb4b2253cf79545662e0a280ef085f08d9fb3f2ad