mitre-form-component 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +171 -51
- package/dist/{index.mjs → index.cjs} +150 -112
- package/dist/index.cjs.map +1 -0
- package/dist/{index.d.mts → index.d.cts} +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +117 -144
- package/dist/index.js.map +1 -1
- package/package.json +16 -6
- package/dist/index.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -1,54 +1,174 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
# Mitre Form Component
|
|
2
|
+
|
|
3
|
+
Componente de formulário de captação de leads para ser usado em projetos da Mitre Realty. Esta biblioteca oferece um componente pronto para facilitar a implementação de formulários em suas páginas, com validação e integração com APIs para registro de leads.
|
|
4
|
+
|
|
5
|
+
## 🚨 Avisos importantes
|
|
6
|
+
|
|
7
|
+
Este projeto foi desenvolvido para ser usado diretamente em projetos da Mitre Realty. Algumas partes da biblioteca são essenciais e **não devem ser alteradas ou removidas**.
|
|
8
|
+
|
|
9
|
+
- **Exemplo de uso**: Dentro de `src/app/page.tsx`, há um exemplo de uso do componente, disponível apenas para visualização. Para executar e ver o exemplo em funcionamento, execute o comando:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
yarn dev
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## ❌ Itens que NÃO devem ser modificados
|
|
18
|
+
|
|
19
|
+
### **Código do componente**
|
|
20
|
+
|
|
21
|
+
- O comportamento básico do componente, como a integração com a API e as interações de formulário, **não devem ser alterados**.
|
|
22
|
+
|
|
23
|
+
### **Dependências**
|
|
24
|
+
|
|
25
|
+
- Certifique-se de que as dependências do `package.json` estão intactas para garantir o funcionamento correto da biblioteca. Alterações nas versões podem causar incompatibilidade com o sistema.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ✅ Itens que DEVEM ser modificados
|
|
30
|
+
|
|
31
|
+
### 1. **Configuração do Componente**
|
|
32
|
+
|
|
33
|
+
Embora o componente esteja pronto para uso, você pode personalizá-lo ao passar as props adequadas.
|
|
34
|
+
|
|
35
|
+
### 2. **Componente `MitreFormComponent`**
|
|
36
|
+
|
|
37
|
+
Aqui está um exemplo de uso básico dentro do projeto:
|
|
38
|
+
|
|
39
|
+
```tsx
|
|
40
|
+
import { MitreFormComponent } from "mitre-form-component-next";
|
|
41
|
+
|
|
42
|
+
<MitreFormComponent
|
|
43
|
+
productId={process.env.VITE_PRODUCT_ID!}
|
|
44
|
+
apiUrl={process.env.VITE_REGISTER_LEADS_URL!}
|
|
45
|
+
apiToken={process.env.VITE_REGISTER_LEADS_TOKEN!}
|
|
46
|
+
utm_source="google"
|
|
47
|
+
utm_medium="cpc"
|
|
48
|
+
utm_campaign="mitre"
|
|
49
|
+
utm_term="mitre"
|
|
50
|
+
showHeader={true} // opcional
|
|
51
|
+
colorPrimary="#FF5733" // opcional
|
|
52
|
+
textColor="#ffffff" // opcional
|
|
53
|
+
/>;
|
|
32
54
|
```
|
|
33
55
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 🛠️ Tecnologias utilizadas
|
|
59
|
+
|
|
60
|
+
- [React](https://react.dev/)
|
|
61
|
+
- [React Hook Form](https://react-hook-form.com/)
|
|
62
|
+
- [Yup](https://github.com/jquense/yup)
|
|
63
|
+
- [Styled Components](https://styled-components.com/)
|
|
64
|
+
- [Polished](https://polished.js.org/)
|
|
65
|
+
- [React Icons](https://react-icons.github.io/react-icons/)
|
|
66
|
+
- [React Phone Input](https://github.com/bl00mber/react-phone-input-2)
|
|
67
|
+
- [Vite](https://vitejs.dev/)
|
|
68
|
+
- [Tsup](https://tsup.egoist.dev/)
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## ⚙️ Instalação
|
|
73
|
+
|
|
74
|
+
Este componente pode ser instalado em qualquer projeto React usando o gerenciador de pacotes de sua preferência (npm, yarn, pnpm, etc.).
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Usando npm
|
|
78
|
+
npm install mitre-form-component-next
|
|
79
|
+
|
|
80
|
+
# Usando yarn
|
|
81
|
+
yarn add mitre-form-component-next
|
|
82
|
+
|
|
83
|
+
# Usando pnpm
|
|
84
|
+
pnpm add mitre-form-component-next
|
|
54
85
|
```
|
|
86
|
+
|
|
87
|
+
Depois de instalar a biblioteca, você pode começar a usá-la diretamente no seu projeto.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 🔧 Props do Componente
|
|
92
|
+
|
|
93
|
+
O `MitreFormComponent` aceita as seguintes props:
|
|
94
|
+
|
|
95
|
+
- **`productId`** (string): O ID do produto relacionado ao empreendimento.
|
|
96
|
+
- **`apiUrl`** (string): URL da API para registro dos leads.
|
|
97
|
+
- **`apiToken`** (string): Token de autenticação da API.
|
|
98
|
+
- **`utm_source`** (string): Parâmetro UTM de origem da campanha (ex: `'google'`).
|
|
99
|
+
- **`utm_medium`** (string): Parâmetro UTM de meio da campanha (ex: `'cpc'`).
|
|
100
|
+
- **`utm_campaign`** (string): Parâmetro UTM de nome da campanha (ex: `'mitre'`).
|
|
101
|
+
- **`utm_term`** (string): Parâmetro UTM de termo da campanha (ex: `'mitre'`).
|
|
102
|
+
- **`showHeader`** (opcional, boolean): Controla se o cabeçalho será mostrado. Padrão: `false`.
|
|
103
|
+
- **`colorPrimary`** (opcional, string): Cor primária do componente. Exemplo: `#FF5733`.
|
|
104
|
+
- **`textColor`** (opcional, string): Cor do texto do componente. Exemplo: `#ffffff`.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 🚨 Componente dentro de um `ErrorBoundary`
|
|
109
|
+
|
|
110
|
+
Recomendamos que o componente `MitreFormComponent` seja sempre utilizado dentro de um `ErrorBoundary` para garantir que a aplicação não quebre em caso de falha no carregamento do componente. Também é preciso usar dynamic do next/dynamics para a importação.
|
|
111
|
+
|
|
112
|
+
Exemplo de uso básico como biblioteca em projetos Nextjs externos:
|
|
113
|
+
|
|
114
|
+
```tsx
|
|
115
|
+
import dynamic from "next/dynamic";
|
|
116
|
+
|
|
117
|
+
import { ErrorBoundary } from "react-error-boundary";
|
|
118
|
+
const MitreFormComponent = dynamic(
|
|
119
|
+
() =>
|
|
120
|
+
import("mitre-form-component-next").then((mod) => mod.MitreFormComponent),
|
|
121
|
+
{ ssr: false }
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
<ErrorBoundary fallback={<div>Erro ao carregar o formulário</div>}>
|
|
125
|
+
<MitreFormComponent
|
|
126
|
+
productId={process.env.NEXT_PUBLIC_PRODUCT_ID!}
|
|
127
|
+
apiUrl={process.env.NEXT_PUBLIC_REGISTER_LEADS_URL!}
|
|
128
|
+
apiToken={process.env.NEXT_PUBLIC_REGISTER_LEADS_TOKEN!}
|
|
129
|
+
utm_source="google"
|
|
130
|
+
utm_medium="cpc"
|
|
131
|
+
utm_campaign="mitre"
|
|
132
|
+
utm_term="mitre"
|
|
133
|
+
/>
|
|
134
|
+
</ErrorBoundary>;
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Para uso em outros frameworks, fazer o import básico conforme Artigo 2
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 🏗️ Como gerar o build e publicar no npm
|
|
142
|
+
|
|
143
|
+
Para gerar o build da biblioteca e publicá-la no npm, siga estas etapas:
|
|
144
|
+
|
|
145
|
+
1. **Incrementar a versão no `package.json`**:
|
|
146
|
+
No arquivo `package.json`, atualize a versão da biblioteca.
|
|
147
|
+
|
|
148
|
+
2. **Executar o build**:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
yarn build
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
3. **Publicar no npm**:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
yarn publish --new-version 0.x.xxx
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 📄 Licença
|
|
163
|
+
|
|
164
|
+
Este projeto é mantido pela **Mitre Realty**. Uso restrito aos colaboradores e parceiros autorizados.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 🧑💻 Contato
|
|
169
|
+
|
|
170
|
+
Para dúvidas ou suporte sobre o uso desta biblioteca, entre em contato com o time de desenvolvimento interno da **Mitre Realty**.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
> Mitre Realty © Todos os direitos reservados.
|