1.1.1 • Published 1 year ago

@modular-web/rc-form v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Form component React + TypeScript + TailwindCSS

npm version

Descripción

FormComponent es un componente de formulario flexible y personalizable construido con React, TypeScript y TailwindCSS. Este componente te permite crear formularios rápidamente y de manera eficiente, con la capacidad de personalizar los inputs, el título del formulario y el texto del botón de envío. Además, cuenta con soporte para children, permitiéndote agregar contenido adicional abajo del formulario, como enlaces para registro de nuevos usuarios o métodos alternativos de inicio de sesión.

Características

  • Inputs Personalizables: Define los campos de entrada del formulario según tus necesidades, especificando etiquetas, tipos, nombres, IDs y más.
  • Título Personalizable: Establece el título del formulario para que se adapte a su propósito específico.
  • Texto del Botón Personalizable: Personaliza el texto del botón de envío para que sea claro y relevante para los usuarios.
  • Soporte para Children: Añade contenido adicional en el footer del formulario, ideal para enlaces, instrucciones adicionales o métodos alternativos de autenticación.
  • Estilizado con TailwindCSS: Aprovecha las utilidades de TailwindCSS para un diseño rápido y responsivo.

Instalación

Puedes instalar el paquete utilizando npm. Ejecuta el siguiente comando en tu terminal:

npm install @modular-web/rc-form

O si prefieres usar Yarn, puedes instalarlo con el siguiente comando:

yarn add @modular-web/rc-form

Props

PropTipoDescripciónOpcional
titlestringEl título del formularioNo
textButtonstringEl texto del botón de envíoNo
inputsArray<{...}>Lista de objetos de entrada que definen los campos del formulario
submit(data: { values: any; event?: FormEvent<HTMLFormElement> }) => voidFunción que se llama cuando se envía el formulario. Incluye valores y evento
ChildrenJSXAquí puedes agregar cualquier jsx debajo del formulario

Composición del Array inputs

PropTipoDescripciónOpcional
idstringIdentificador único para el campoNo
namestringNombre del campoNo
typestringTipo de campo (ej: 'text', 'password', etc.)No
requiredbooleanSi el campo es obligatorioNo
labelstringEtiqueta para el campo
classNamestringClases de CSS (ej: 'text-#333')
placeholderstringTexto de marcador de posición en el campo
clearablebooleanSi se puede limpiar el campo (por defecto false)
toggleablebooleanMostrar/ocultar contraseña (solo aplica para campos de tipo password)
patternstringPatrón para validar la entrada

Ejemplo de uso:

import React from 'react';
import {FormComponent, Inputs} from '@modular-web/rc-form';

const inputs:Array<Inputs> = [
  {
    // Campos obligatorios
    id: 'username',
    name: 'username',
    type: 'text',
    required: true,
    // Campos opcionales
    label: 'Username',
    className: 'text-[#333]', // Clases de tailwindcss
    placeholder: 'Ingresa tu username',
    clearable: true, // Si quieres activar el limpiar el campo
  },
  // ... Agrega todos los campos que necesites
]

function App() {
  return (
    <FormComponent
      title="Iniciar Sesión"
      textButton="Iniciar Sesión"
      inputs={inputs}
      submit={({values, event}) => {
        console.log("Es un JSON", event, values);
      }}
    />
  );
};

export default App;

En este ejemplo:

  • Importamos el componente FormComponent y el tipo Inputs desde el paquete @modular-web/rc-form.
  • Definimos un arreglo de inputs con los campos necesarios para el formulario.
  • Utilizamos el componente FormComponent en el componente principal App, pasando las propiedades title, textButton, inputs y submit.

Contribuir

Si desea contribuir a este proyecto, por favor sigue los siguientes pasos: 1. Haz un fork del repositorio. 2. Crea una nueva rama (git checkout -b feature/nueva-funconalidad). 3. Realiza tus cambios y haz commit (git commit -m 'Añadir nueva funcionalidad'). 4. Sube tus cambios (git push origin feature/nueva-funcionalidad). 5. Abre un Pull Request.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Para más detalles, consulta el archivo LICENSE. MIT

1.1.1

1 year ago

1.1.0

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.0

1 year ago