1.0.0 • Published 4 years ago

react-native-step-progress v1.0.0

Weekly downloads
8
License
Apache-2.0
Repository
github
Last release
4 years ago

react-native-step-progress

A simple react-native implementation of step indicator widget compatible with the ViewPager and ListView. Package was cloned from step-indicator, changed to functional component and adopted to newest React, React Native versions.

Features

  • Can be used with ViewPager and Listview
  • Custom Styling
  • Supports vertical and horizontal orientation
  • Supports animation between steps

Installation

npm install react-native-step-progress or yarn add react-native-step-progress

Usage

import StepProgress from 'react-native-step-progress';

const labels = ["Cart","Delivery Address","Order Summary","Payment Method","Track"];
const customStyles = {
  stepIndicatorSize: 25,
  currentStepIndicatorSize:30,
  separatorStrokeWidth: 2,
  currentStepStrokeWidth: 3,
  stepStrokeCurrentColor: '#fe7013',
  stepStrokeWidth: 3,
  stepStrokeFinishedColor: '#fe7013',
  stepStrokeUnFinishedColor: '#aaaaaa',
  separatorFinishedColor: '#fe7013',
  separatorUnFinishedColor: '#aaaaaa',
  stepIndicatorFinishedColor: '#fe7013',
  stepIndicatorUnFinishedColor: '#ffffff',
  stepIndicatorCurrentColor: '#ffffff',
  stepIndicatorLabelFontSize: 13,
  currentStepIndicatorLabelFontSize: 13,
  stepIndicatorLabelCurrentColor: '#fe7013',
  stepIndicatorLabelFinishedColor: '#ffffff',
  stepIndicatorLabelUnFinishedColor: '#aaaaaa',
  labelColor: '#999999',
  labelSize: 13,
  currentStepLabelColor: '#fe7013'
}


const [currentPosition, setCurrentPosition] = useState(0)

return (
  <StepProgress
      customStyles={customStyles}
      currentPosition={currentPosition}
      labels={labels}
  />
)

onPageChange(position){
  setCurrentPosition(position};
}
//...

Properties

NameTypeDescriptionDefault
currentPositionNumberCurrent position in steps0
stepCountNumberNumber of steps5
directionStringOrientation(i.e. horizontal,vertical)horizontal
customStylesObjectCustom styling{}
labelsArrayLabels for each stepnull
onPressFunction (position: Number)Function called when a step is pressednull
renderStepIndicatorFunction (position: Number, stepStatus: String)Use this to render custom content inside stepnull
renderLabelFunction (position: Number, stepStatus: String, label: String, currentPosition: Number)Use this to render custom label for each stepnull

Custom Styles

NameTypeDefault
stepIndicatorSizeNumber30
currentStepIndicatorSizeNumber40
separatorStrokeWidthNumber3
separatorStrokeUnfinishedWidthNumber0
separatorStrokeFinishedWidthNumber0
stepStrokeWidthNumber0
currentStepStrokeWidthNumber5
stepStrokeCurrentColorString'#4aae4f'
stepStrokeFinishedColorString'#4aae4f'
stepStrokeUnFinishedColorString'#4aae4f'
separatorFinishedColorString'#4aae4f'
separatorUnFinishedColorString'#a4d4a5'
stepIndicatorFinishedColorString'#4aae4f'
stepIndicatorUnFinishedColorString'#a4d4a5'
stepIndicatorCurrentColorString'#ffffff'
stepIndicatorLabelFontSizeNumber15
currentStepIndicatorLabelFontSizeNumber15
stepIndicatorLabelCurrentColorString'#000000'
stepIndicatorLabelFinishedColorString'#ffffff'
stepIndicatorLabelUnFinishedColorString'rgba(255,255,255,0.5)'
labelColorString'#000000'
currentStepLabelColorString'#4aae4f'
labelSizeNumber13
labelAlignString'center'
labelFontFamilyString

Contributing

If you'd like to see something added or changed to this module please open a new GitHub issue. Pull requests are always welcome.

License