conexean-library
v0.3.0
Published
Uma biblioteca de componentes React com TypeScript e Tailwind CSS.
Readme
Sua Biblioteca de Componentes React
Uma biblioteca de componentes React com TypeScript e Tailwind CSS.
Estrutura do Projeto
sua-biblioteca/
├── src/
│ ├── components/
│ │ └── Input/
│ │ ├── Input.tsx
│ │ ├── Input.test.tsx
│ │ └── Input.stories.tsx
│ ├── index.ts
│ └── react-app-env.d.ts
├── .storybook/
├── dist/
├── package.json
├── tsconfig.json
├── rollup.config.js
└── README.mdInstalação
npm install sua-bibliotecaou
yarn add sua-bibliotecaUso
import React from 'react';
import { Input } from 'sua-biblioteca';
function App() {
return (
<div>
<Input
name="example"
id="example"
label="Exemplo de Input"
mask="(##) #####-####"
/>
</div>
);
}
export default App;Nota: Esta biblioteca utiliza Tailwind CSS. Certifique-se de que seu projeto tem o Tailwind CSS configurado.
Componentes Disponíveis
Input
Um componente de input com suporte para máscaras e tratamento de erros.
Propriedades:
name(string, obrigatório): Nome do inputid(string, obrigatório): ID do inputlabel(string, opcional): Rótulo do inputinputClass(string, opcional): Classes CSS adicionais para o inputerrors(string, opcional): Mensagem de erromask(string, opcional): Máscara para formatação do input
Desenvolvimento
Pré-requisitos
- Node.js (versão 14 ou superior)
- npm ou yarn
Configuração do Ambiente de Desenvolvimento
Clone o repositório:
git clone https://github.com/seu-usuario/sua-biblioteca.git cd sua-bibliotecaInstale as dependências:
npm installPara iniciar o Storybook:
npm run storybook
Criando um Novo Componente
Crie uma nova pasta para o componente em
src/components/:mkdir src/components/NomeDoComponenteCrie os arquivos do componente:
NomeDoComponente.tsx: O componente ReactNomeDoComponente.test.tsx: Testes do componenteNomeDoComponente.stories.tsx: Histórias do Storybook
Implemente o componente em
NomeDoComponente.tsx:import React from 'react'; interface NomeDoComponenteProps { // Defina as props aqui } const NomeDoComponente: React.FC<NomeDoComponenteProps> = (props) => { // Implemente o componente aqui }; export default NomeDoComponente;Escreva testes em
NomeDoComponente.test.tsx:import React from 'react'; import { render } from '@testing-library/react'; import NomeDoComponente from './NomeDoComponente'; describe('NomeDoComponente', () => { it('renders correctly', () => { // Implemente os testes aqui }); });Crie histórias em
NomeDoComponente.stories.tsx:import React from 'react'; import { Meta, StoryFn } from '@storybook/react'; import NomeDoComponente from './NomeDoComponente'; export default { title: 'Components/NomeDoComponente', component: NomeDoComponente, } as Meta<typeof NomeDoComponente>; const Template: StoryFn<typeof NomeDoComponente> = (args) => <NomeDoComponente {...args} />; export const Default = Template.bind({}); Default.args = { // Defina os args padrão aqui };Exporte o novo componente em
src/index.ts:export { default as NomeDoComponente } from './components/NomeDoComponente/NomeDoComponente';
Build
Para criar uma build da biblioteca:
npm run buildPublicação
Atualize a versão no
package.json:npm version patch # para pequenas correções npm version minor # para novas funcionalidades npm version major # para mudanças que quebram compatibilidadePublique no npm:
npm publish
Contribuindo
Contribuições são bem-vindas! Por favor, siga estas etapas:
- Fork o projeto
- Crie sua branch de feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Licença
Distribuído sob a licença MIT. Veja LICENSE para mais informações.
Contato
Seu Nome - @seutwitter - [email protected]
Link do Projeto: https://github.com/seu-usuario/sua-biblioteca
