Copiar e colar os arquivos desejados para o seu projeto.
Talvez seja necessário instalar as bibliotecas do RadixUI ou react-aria para os seus componentes.
- Dê um git clone no projeto
- Instale as dependências com
yarn
- Rode o projeto com
yarn dev
- Crie uma branch com o nome da sua feature (
feature/nome-da-feature
) - Dê um exemplo de como usar o seu componente.
- Faça um pull request
Quando se está fazendo features mais complexas, vale a pena começar por como se usa o componente. Por exemplo, você pode idealizar uma fábrica de formulário da seguinte maneira (já foi alterado/melhorado):
import { FormFactory } from "";
const userSchema = {
name: {
type: "text", // input type, could be image, etc
required: true,
},
age: {
type: "number",
required: true,
},
email: {
type: "email",
required: true,
},
password: {
type: "password",
required: true,
customValidation: (formInfo) => formInfo.password.length > 6,
},
passwordConfirmation: {
type: "password",
required: true,
customValidation: (formInfo) =>
formInfo.password === formInfo.passwordConfirmation,
},
};
export const UserForm = FormFactory(userSchema);
E agora a parte mais chata de criar formulários está escondida atrás de uma fábrica de formulário.
É bom lembrar que funcionalidades demais em um componente acabam dificultando seu uso. Poderíamos ter passado também um onSubmit para a Factory, mas isso está facilitando algo? Não. Então, vamos deixar para o usuário do componente decidir o que fazer com o onSubmit.
Também não vale a pena complicar o uso para deixar genérico demais. A gente tem o código aberto pra nós, então podemos alterá-lo para encaixar no projeto que for.
- O projeto está configurado para usar o Prettier para formatar o código.
- O projeto está configurado para usar o ESLint para verificar se o código está de acordo com as regras do projeto.
Sendo assim, é recomendado instalar essas extensões no seu editor de código.