1.0.1 • Published 3 years ago

react-native-cyberpunk-button v1.0.1

Weekly downloads
3
License
MIT
Repository
github
Last release
3 years ago

react-native-cyberpunk-button

Button with glitch display effect inspired by cyberpunk 2077 game webpage. Button is styled to resemble component on cyberpunk web page. Button component is highly customisable. You can change animation params, button and text style.

npm.io

Usage

Install module:

npm install --save react-native-cyberpunk-button

or

yarn add react-native-cyberpunk-button

Import button and use it in your app:

import CyberButton from 'react-native-cyberpunk-button';

export default function App() {
  const btnRef = useRef();

  return (
    <View>
      ...

      <View>
        <Text>autoplay animation:</Text>
        <CyberButton label="cyberpunk_" />
      </View>

      <View>
        <Text>Button with animation activated onPress:</Text>
        <TouchableOpacity onPress={() => btnRef.current.animate()}>
          <CyberButton
            ref={btnRef}
            disableAutoAnimation
            label="cyberpunk_"
          />
        </TouchableOpacity>
      </View>
    </View>
  );
}

CyberButton props

PropsTypeDescriptionDefault
buttonHeightIntegerHeight of the button.80
labelstringButton text.''
mainColorstringButton background.#ff003c
shadowColorstringGlitch effect shadow and borders.#add8e6
disableAutoAnimationbooleanDisable animation autoplay.false
glitchDurationnumberDuration of glitch animation (lower value means faster blinking).1500
glitchAmplitudenumberSize of horizontal (X axis) glitch swing.5
repeatDelaynumberDelay before animation auto replay.2000
labelContainerStyleobjectStyles to be applied to label container.
labelTextStyleobjectStyles to be applied to label text component.

Default label container style:

{
  height: buttonHeight,
  paddingRight: buttonHeight /  2,
  paddingLeft: buttonHeight / 4,
  borderColor: shadowColor,
  backgroundColor: mainColor,
  borderRightWidth: 2,
  alignItems: 'center',
  justifyContent: 'center',
}

Default label text style:

{
  color: '#ffffff',
  fontWeight: 'bold',
  letterSpacing: 3,
  fontSize: buttonHeight / 2.5
}

CyberButton instance methods

animate - will trigger single glitch animation. Useful with disableAutoAnimation prop.

React Native Epicode Academy

This package is a part of React Native Epicode Academy YouTube series.