1.1.1 • Published 10 months ago

@modular-web/rc-form v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months 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

10 months ago

1.1.0

10 months ago

1.0.9

10 months ago

1.0.8

10 months ago

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

10 months ago

1.0.3

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago

0.2.3

10 months ago

0.2.2

10 months ago

0.2.1

10 months ago

0.2.0

10 months ago

0.1.4

10 months ago

0.1.3

10 months ago

0.1.2

10 months ago

0.1.1

10 months ago

0.1.0

10 months ago

0.0.0

10 months ago