1.3.6 • Published 10 months ago

react-native-progress-steps-screens v1.3.6

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

npm.io npm.io PRs Welcome

react-native-progress-steps-screens

Un componente simple y totalmente personalizable de React Native que implementa una interfaz de usuario de pasos de progreso.

  • El contenido de cada paso se muestra dentro de un ScrollView personalizable.
  • Botones totalmente personalizables se muestran en la parte inferior del componente para moverse entre los pasos.
Ejemplo UnoEjemplo Dos
npm.io examples/ExampleOne.jsnpm.io examples/ExampleTwo.js

Instalación

Si usas yarn:

yarn add react-native-progress-steps-screens

Si usas npm:

npm i react-native-progress-steps-screens

Uso

import { ProgressSteps, ProgressStep } from 'react-native-progress-steps-screens';

Simplemente coloca una etiqueta <ProgressStep /> para cada paso deseado dentro del contenedor <ProgressSteps />.

<View style={{flex: 1}}>
    <ProgressSteps>
        <ProgressStep label="Primer Paso">
            <View style={{ alignItems: 'center' }}>
                <Text>¡Este es el contenido del paso 1!</Text>
            </View>
        </ProgressStep>
        <ProgressStep label="Segundo Paso">
            <View style={{ alignItems: 'center' }}>
                <Text>¡Este es el contenido del paso 2!</Text>
            </View>
        </ProgressStep>
        <ProgressStep label="Tercer Paso">
            <View style={{ alignItems: 'center' }}>
                <Text>¡Este es el contenido del paso 3!</Text>
            </View>
        </ProgressStep>
    </ProgressSteps>
</View>

Uso de Estilo de Botones

El contenedor y el texto de los botones son totalmente personalizables usando las propiedades nextBtnStyle, nextBtnTextStyle, previousBtnStyle, y previousBtnTextStyle.

Ejemplo de uso para cambiar el color del texto de un botón:

const buttonTextStyle = {
    color: '#393939'
};

return (
    <View style={{flex: 1}}>
        <ProgressSteps>
            <ProgressStep label="Primer Paso" nextBtnTextStyle={buttonTextStyle} previousBtnTextStyle={buttonTextStyle}>
                <View style={{ alignItems: 'center' }}>
                    <Text>¡Este es el contenido del paso 1!</Text>
                </View>
            </ProgressStep>
            <ProgressStep label="Segundo Paso" nextBtnTextStyle={buttonTextStyle} previousBtnTextStyle={buttonTextStyle}>
                <View style={{ alignItems: 'center' }}>
                    <Text>¡Este es el contenido del paso 2!</Text>
                </View>
            </ProgressStep>
        </ProgressSteps>
    </View>
)

Manejo de Errores y Validación del Paso Actual

La propiedad errors debe usarse si hay necesidad de validación y manejo de errores al hacer clic en el botón siguiente. Si deseas evitar que se renderice el siguiente paso, establece la propiedad errors en true. Por defecto, será false.

Ejemplo de uso de verificación de validación:

state = {
    isValid: false,
    errors: false
};

onNextStep = () => {
    if (!this.state.isValid) {
      this.setState({ errors: true });
    } else {
      this.setState({ errors: false });
    }
};

render() {
    return (
      <View style={{ flex: 1 }}>
        <ProgressSteps>
          <ProgressStep label="Primer Paso" onNext={this.onNextStep} errors={this.state.errors}>
            <View style={{ alignItems: 'center' }}>
              <Text>¡Este es el contenido del paso 1!</Text>
            </View>
          </ProgressStep>
          <ProgressStep label="Segundo Paso">
            <View style={{ alignItems: 'center' }}>
              <Text>¡Este es el contenido del paso 2!</Text>
            </View>
          </ProgressStep>
        </ProgressSteps>
      </View>
    );
}

Documentación

Componente de Pasos de Progreso

NombreDescripciónPredeterminadoTipo
borderWidthAncho de la barra de progreso entre pasos6Número
borderStyleTipo de borde para la barra de progresosolidCadena
activeStepIconBorderColorColor del borde exterior para el paso activo#4bb543Cadena
progressBarColorColor de la barra de progreso predeterminada#ebebe4Cadena
completedProgressBarColorColor de la barra de progreso completada#4bb543Cadena
activeStepIconColorColor del icono del paso activotransparenteCadena
completedStepIconColorColor del icono del paso completado#4bb543Cadena
disabledStepIconColorColor del icono del paso deshabilitado#ebebe4Cadena
labelFontFamilyFamilia de fuentes para la etiqueta del icono del pasoFuente predeterminada de iOS/AndroidCadena
labelColorColor de la etiqueta predeterminadagris claroCadena
labelFontSizeTamaño de fuente para la etiqueta del icono del paso14Número
activeLabelColorColor de la etiqueta activa#4bb543Cadena
activeLabelFontSizeTamaño de fuente opcional para la etiqueta del paso activonullNúmero
completedLabelColorColor de la etiqueta completadagris claroCadena
activeStepNumColorColor del número del paso activonegroCadena
completedStepNumColorColor del número del paso completadonegroCadena
disabledStepNumColorColor del número del paso deshabilitadoblancoCadena
completedCheckColorColor de la marca de verificación del paso completadoblancoCadena
activeStepEspecificar manualmente el paso activo0Número
isCompleteEstablecer todos los pasos en estado activofalseBooleano
topOffsetEstablecer el desplazamiento superior de la barra de progreso30Número
marginBottomEstablecer el margen inferior de la barra de progreso50Número

Componente de Paso de Progreso

NombreDescripciónPredeterminadoTipo
labelTítulo del paso actual a mostrarnullCadena
onNextFunction llamada cuando se presiona el botón siguientenullFunction
onPreviousFunction llamada cuando se presiona el botón anteriornullFunction
onSubmitFunction llamada cuando se presiona el botón de envío del pasonullFunction
nextBtnTextTexto a mostrar dentro del botón siguienteNextCadena
previousBtnTextTexto a mostrar dentro del botón anteriorPreviousCadena
finishBtnTextTexto a mostrar dentro del botón en el último pasoSubmitCadena
nextBtnStyleObjeto de estilo para proporcionar a los botones siguiente/finalizar{ textAlign: 'center', padding: 8 }Objeto
nextBtnTextStyleObjeto de estilo para proporcionar al texto del botón siguiente/finalizar{ color: '#007aff', fontSize: 18 }Objeto
nextBtnDisabledValor para deshabilitar/habilitar el botón siguientefalseBooleano
previousBtnStyleObjeto de estilo para proporcionar al botón anterior{ textAlign: 'center', padding: 8 }Objeto
previousBtnTextStyleObjeto de estilo para proporcionar al texto del botón anterior{ color: '#007aff', fontSize: 18 }Objeto
previousBtnDisabledValor para deshabilitar/habilitar el botón anteriorfalseBooleano
scrollViewPropsObjeto para proporcionar propiedades al componente ScrollView{}Objeto
scrollableEl contenido del Paso de Progreso debe ser desplazabletrueBooleano
viewPropsObjeto para proporcionar propiedades al componente de vista si scrollable es false{}Objeto
errorsUsado para ayudar con la validación del paso actual. Si es true, el siguiente paso no se renderizaráfalseBooleano
removeBtnRowUsado para renderizar el paso de progreso sin la fila de botonesfalseBooleano

Contribuciones

¡Las solicitudes de contribución siempre son bienvenidas! Siéntete libre de abrir un nuevo problema en GitHub para cualquier cambio que se pueda hacer.

¿Trabajando en tu primera solicitud de contribución? Puedes aprender cómo hacerlo en esta serie gratuita Cómo Contribuir a un Proyecto de Código Abierto en GitHub

Autor

Autor Original - Colby Miller | https://tahelromero.com

Licencia

MIT

# react-native-progress-steps-screens

Un componente simple y totalmente personalizable de React Native que implementa una interfaz de usuario de pasos de progreso.
* El contenido de cada paso se muestra dentro de un ScrollView personalizable.
* Botones totalmente personalizables se muestran en la parte inferior del componente para moverse entre los pasos.

Ejemplo Uno             |  Ejemplo Dos
:-------------------------:|:-------------------------:
![](assets/react-native-progress-steps-screens_1.gif) [examples/ExampleOne.js](examples/ExampleOne.js)| ![](assets/react-native-progress-steps-screens_2.gif) [examples/ExampleTwo.js](examples/ExampleTwo.js)

## Instalación

Si usas yarn:

yarn add react-native-progress-steps-screens

Si usas npm:

npm i react-native-progress-steps-screens

Si usas npm:

import { ProgressSteps, ProgressStep } from 'react-native-progress-steps-screens';

Simplemente coloca una etiqueta `<ProgressStep />` para cada paso deseado dentro del contenedor `<ProgressSteps />`.

<View style={{ flex: 1 }}> {" "} {" "} {" "} <View style={{ alignItems: "center" }}> {" "} ¡Este es el contenido del paso 1!{" "} {" "} {" "} {" "} <View style={{ alignItems: "center" }}> {" "} ¡Este es el contenido del paso 2!{" "} {" "} {" "} {" "} <View style={{ alignItems: "center" }}> {" "} ¡Este es el contenido del paso 3!{" "} {" "} {" "} {" "}

### Uso de Estilo de Botones
El contenedor y el texto de los botones son totalmente personalizables usando las propiedades `nextBtnStyle, nextBtnTextStyle, previousBtnStyle, y previousBtnTextStyle`.

Ejemplo de uso para cambiar el color del texto de un botón:

const buttonTextStyle = { color: "#393939" };

return ( <View style={{ flex: 1 }}> {" "} {" "} <ProgressStep label="Primer Paso" nextBtnTextStyle={buttonTextStyle} previousBtnTextStyle={buttonTextStyle}

  >
    {" "}
    <View style={{ alignItems: "center" }}>
      {" "}
      <Text>¡Este es el contenido del paso 1!</Text>{" "}
    </View>{" "}
  </ProgressStep>{" "}
  <ProgressStep
    label="Segundo Paso"
    nextBtnTextStyle={buttonTextStyle}
    previousBtnTextStyle={buttonTextStyle}
  >
    {" "}
    <View style={{ alignItems: "center" }}>
      {" "}
      <Text>¡Este es el contenido del paso 2!</Text>{" "}
    </View>{" "}
  </ProgressStep>{" "}
</ProgressSteps>{" "}

Current Step Error and Validation Handling

The errors prop should be used if there's a need for validation and error handling when clicking the next button. If you would like to prevent the next step from being rendered, set the errors prop to true. By default, it will be false.

Example usage of validation check:

state = {
    isValid: false,
    errors: false
};

onNextStep = () => {
    if (!this.state.isValid) {
      this.setState({ errors: true });
    } else {
      this.setState({ errors: false });
    }
};

render() {
    return (
      <View style={{ flex: 1 }}>
        <ProgressSteps>
          <ProgressStep label="First Step" onNext={this.onNextStep} errors={this.state.errors}>
            <View style={{ alignItems: 'center' }}>
              <Text>This is the content within step 1!</Text>
            </View>
          </ProgressStep>
          <ProgressStep label="Second Step">
            <View style={{ alignItems: 'center' }}>
              <Text>This is the content within step 2!</Text>
            </View>
          </ProgressStep>
        </ProgressSteps>
      </View>
    );
}

Documentation

Progress Steps Component

NameDescriptionDefaultType
borderWidthWidth of the progress bar between steps6Number
borderStyleType of border for the progress barsolidString
activeStepIconBorderColorOutside border color for the active step#4bb543String
progressBarColorColor of the default progress bar#ebebe4String
completedProgressBarColorColor of the completed progress bar#4bb543String
activeStepIconColorColor of the active step icontransparentString
completedStepIconColorColor of the completed step icon#4bb543String
disabledStepIconColorColor of the disabled step icon#ebebe4String
labelFontFamilyFont family for the step icon labeliOS/Android default fontString
labelColorColor of the default labellightgrayString
labelFontSizeFont size for the step icon label14Number
activeLabelColorColor of the active label#4bb543String
activeLabelFontSizeOptional font size for the active step icon labelnullNumber
completedLabelColorColor of the completed labellightgrayString
activeStepNumColorColor of the active step numberblackString
completedStepNumColorColor of the completed step numberblackString
disabledStepNumColorColor of the disabled step numberwhiteString
completedCheckColorColor of the completed step checkmarkwhiteString
activeStepManually specify the active step0Number
isCompleteSet all Steps to active statefalseBoolean
topOffsetSet progress bar top offset30Number
marginBottomSet progress bar bottom margin50Number

Progress Step Component

NameDescriptionDefaultType
labelTitle of the current step to be displayednullString
onNextFunction called when the next step button is pressednullFunc
onPreviousFunction called when the previous step button is pressednullFunc
onSubmitFunction called when the submit step button is pressednullFunc
nextBtnTextText to display inside the next buttonNextString
previousBtnTextText to display inside the previous buttonPreviousString
finishBtnTextText to display inside the button on the last stepSubmitString
nextBtnStyleStyle object to provide to the next/finish buttons{ textAlign: 'center', padding: 8 }Object
nextBtnTextStyleStyle object to provide to the next/finish button text{ color: '#007aff', fontSize: 18 }Object
nextBtnDisabledValue to disable/enable next buttonfalseBoolean
previousBtnStyleStyle object to provide to the previous button{ textAlign: 'center', padding: 8 }Object
previousBtnTextStyleStyle object to provide to the previous button text{ color: '#007aff', fontSize: 18 }Object
previousBtnDisabledValue to disable/enable previous buttonfalseBoolean
scrollViewPropsObject to provide props to ScrollView component{}Object
scrollableThe content of the Progress Step should be scrollabletrueBoolean
viewPropsObject to provide props to view component if scrollable is false{}Object
errorsUsed to assist with current step validation. If true, the next step won't be renderedfalseBoolean
removeBtnRowUsed to render the progress step without the button rowfalseBoolean

Contributing

Pull requests are always welcome! Feel free to open a new GitHub issue for any changes that can be made.

Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub

Author

Original Autor - Colby Miller | https://colbymillerdev.com

License

MIT