react-native-unistyles
Version:
Level up your React Native StyleSheet
19 lines (16 loc) • 649 B
text/typescript
import type { StyleProp } from 'react-native'
import { getClassName } from '../core'
import type { RNStyle, UnistylesValues } from '../types'
import { createUnistylesRef } from '../web/utils/createUnistylesRef'
export const getWebProps = <T>(style: StyleProp<RNStyle>, forwardedRef?: React.ForwardedRef<T>) => {
const styles = getClassName(style as UnistylesValues)
const ref = createUnistylesRef<T>(styles, forwardedRef)
const [generatedStyles] = styles ?? []
return {
className: [
generatedStyles?.hash,
generatedStyles?.injectedClassName,
].filter(Boolean).join(' '),
ref
}
}