@pipelinesolucoes/theme 1.0.0 → 1.0.1
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/LICENSE +78 -78
- package/README.md +271 -146
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +60 -58
package/LICENSE
CHANGED
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
LICENÇA COMERCIAL – PIPELINE SOLUÇÕES
|
|
2
|
-
|
|
3
|
-
Copyright (c) Pipeline Soluções
|
|
4
|
-
|
|
5
|
-
Este software é de propriedade da Pipeline Soluções e é disponibilizado
|
|
6
|
-
publicamente para instalação e avaliação. O uso comercial está sujeito
|
|
7
|
-
a licenciamento conforme os termos abaixo.
|
|
8
|
-
|
|
9
|
-
────────────────────────────────────────────────────────────
|
|
10
|
-
|
|
11
|
-
1. CONCESSÃO DE LICENÇA
|
|
12
|
-
|
|
13
|
-
A Pipeline Soluções concede ao Licenciado uma licença não exclusiva,
|
|
14
|
-
intransferível e revogável para utilizar este software em 1 (um)
|
|
15
|
-
projeto comercial, mediante aquisição de licença válida.
|
|
16
|
-
|
|
17
|
-
Projeto é definido como uma única aplicação em produção, incluindo
|
|
18
|
-
seus ambientes de desenvolvimento, homologação e staging.
|
|
19
|
-
|
|
20
|
-
────────────────────────────────────────────────────────────
|
|
21
|
-
|
|
22
|
-
2. USO PERMITIDO
|
|
23
|
-
|
|
24
|
-
É permitido:
|
|
25
|
-
- Instalar e avaliar o software livremente.
|
|
26
|
-
- Utilizar o software em projetos comerciais mediante licença válida.
|
|
27
|
-
- Modificar o código para uso interno no projeto licenciado.
|
|
28
|
-
|
|
29
|
-
────────────────────────────────────────────────────────────
|
|
30
|
-
|
|
31
|
-
3. USO PROIBIDO
|
|
32
|
-
|
|
33
|
-
É expressamente proibido:
|
|
34
|
-
- Utilizar o software em projetos comerciais sem licença válida.
|
|
35
|
-
- Redistribuir, sublicenciar, vender ou alugar este software,
|
|
36
|
-
integralmente ou em partes.
|
|
37
|
-
- Publicar o software como parte de outra biblioteca, framework
|
|
38
|
-
ou produto concorrente.
|
|
39
|
-
- Remover ou alterar avisos de copyright ou licenciamento.
|
|
40
|
-
|
|
41
|
-
────────────────────────────────────────────────────────────
|
|
42
|
-
|
|
43
|
-
4. SUPORTE E ATUALIZAÇÕES
|
|
44
|
-
|
|
45
|
-
A aquisição da licença pode incluir suporte básico e atualizações,
|
|
46
|
-
conforme acordado no momento da compra. A Pipeline Soluções não é
|
|
47
|
-
obrigada a fornecer suporte gratuito.
|
|
48
|
-
|
|
49
|
-
────────────────────────────────────────────────────────────
|
|
50
|
-
|
|
51
|
-
5. GARANTIAS E RESPONSABILIDADE
|
|
52
|
-
|
|
53
|
-
Este software é fornecido "NO ESTADO EM QUE SE ENCONTRA",
|
|
54
|
-
sem garantias de qualquer tipo, expressas ou implícitas.
|
|
55
|
-
Em nenhuma hipótese a Pipeline Soluções será responsabilizada
|
|
56
|
-
por danos diretos ou indiretos decorrentes do uso do software.
|
|
57
|
-
|
|
58
|
-
────────────────────────────────────────────────────────────
|
|
59
|
-
|
|
60
|
-
6. RESCISÃO
|
|
61
|
-
|
|
62
|
-
Esta licença será automaticamente rescindida em caso de violação
|
|
63
|
-
de qualquer um dos termos aqui estabelecidos. Em caso de rescisão,
|
|
64
|
-
o uso do software deverá ser interrompido imediatamente.
|
|
65
|
-
|
|
66
|
-
────────────────────────────────────────────────────────────
|
|
67
|
-
|
|
68
|
-
7. CONTATO
|
|
69
|
-
|
|
70
|
-
Para aquisição de licença comercial ou esclarecimento de dúvidas:
|
|
71
|
-
|
|
72
|
-
E-mail: contato@pipelinesolucoes.com.br
|
|
73
|
-
Site: https://www.pipelinesolucoes.com.br
|
|
74
|
-
|
|
75
|
-
────────────────────────────────────────────────────────────
|
|
76
|
-
|
|
77
|
-
Ao utilizar este software em um projeto comercial, você declara ter
|
|
78
|
-
lido, compreendido e concordado com os termos desta licença.
|
|
1
|
+
LICENÇA COMERCIAL – PIPELINE SOLUÇÕES
|
|
2
|
+
|
|
3
|
+
Copyright (c) Pipeline Soluções
|
|
4
|
+
|
|
5
|
+
Este software é de propriedade da Pipeline Soluções e é disponibilizado
|
|
6
|
+
publicamente para instalação e avaliação. O uso comercial está sujeito
|
|
7
|
+
a licenciamento conforme os termos abaixo.
|
|
8
|
+
|
|
9
|
+
────────────────────────────────────────────────────────────
|
|
10
|
+
|
|
11
|
+
1. CONCESSÃO DE LICENÇA
|
|
12
|
+
|
|
13
|
+
A Pipeline Soluções concede ao Licenciado uma licença não exclusiva,
|
|
14
|
+
intransferível e revogável para utilizar este software em 1 (um)
|
|
15
|
+
projeto comercial, mediante aquisição de licença válida.
|
|
16
|
+
|
|
17
|
+
Projeto é definido como uma única aplicação em produção, incluindo
|
|
18
|
+
seus ambientes de desenvolvimento, homologação e staging.
|
|
19
|
+
|
|
20
|
+
────────────────────────────────────────────────────────────
|
|
21
|
+
|
|
22
|
+
2. USO PERMITIDO
|
|
23
|
+
|
|
24
|
+
É permitido:
|
|
25
|
+
- Instalar e avaliar o software livremente.
|
|
26
|
+
- Utilizar o software em projetos comerciais mediante licença válida.
|
|
27
|
+
- Modificar o código para uso interno no projeto licenciado.
|
|
28
|
+
|
|
29
|
+
────────────────────────────────────────────────────────────
|
|
30
|
+
|
|
31
|
+
3. USO PROIBIDO
|
|
32
|
+
|
|
33
|
+
É expressamente proibido:
|
|
34
|
+
- Utilizar o software em projetos comerciais sem licença válida.
|
|
35
|
+
- Redistribuir, sublicenciar, vender ou alugar este software,
|
|
36
|
+
integralmente ou em partes.
|
|
37
|
+
- Publicar o software como parte de outra biblioteca, framework
|
|
38
|
+
ou produto concorrente.
|
|
39
|
+
- Remover ou alterar avisos de copyright ou licenciamento.
|
|
40
|
+
|
|
41
|
+
────────────────────────────────────────────────────────────
|
|
42
|
+
|
|
43
|
+
4. SUPORTE E ATUALIZAÇÕES
|
|
44
|
+
|
|
45
|
+
A aquisição da licença pode incluir suporte básico e atualizações,
|
|
46
|
+
conforme acordado no momento da compra. A Pipeline Soluções não é
|
|
47
|
+
obrigada a fornecer suporte gratuito.
|
|
48
|
+
|
|
49
|
+
────────────────────────────────────────────────────────────
|
|
50
|
+
|
|
51
|
+
5. GARANTIAS E RESPONSABILIDADE
|
|
52
|
+
|
|
53
|
+
Este software é fornecido "NO ESTADO EM QUE SE ENCONTRA",
|
|
54
|
+
sem garantias de qualquer tipo, expressas ou implícitas.
|
|
55
|
+
Em nenhuma hipótese a Pipeline Soluções será responsabilizada
|
|
56
|
+
por danos diretos ou indiretos decorrentes do uso do software.
|
|
57
|
+
|
|
58
|
+
────────────────────────────────────────────────────────────
|
|
59
|
+
|
|
60
|
+
6. RESCISÃO
|
|
61
|
+
|
|
62
|
+
Esta licença será automaticamente rescindida em caso de violação
|
|
63
|
+
de qualquer um dos termos aqui estabelecidos. Em caso de rescisão,
|
|
64
|
+
o uso do software deverá ser interrompido imediatamente.
|
|
65
|
+
|
|
66
|
+
────────────────────────────────────────────────────────────
|
|
67
|
+
|
|
68
|
+
7. CONTATO
|
|
69
|
+
|
|
70
|
+
Para aquisição de licença comercial ou esclarecimento de dúvidas:
|
|
71
|
+
|
|
72
|
+
E-mail: contato@pipelinesolucoes.com.br
|
|
73
|
+
Site: https://www.pipelinesolucoes.com.br
|
|
74
|
+
|
|
75
|
+
────────────────────────────────────────────────────────────
|
|
76
|
+
|
|
77
|
+
Ao utilizar este software em um projeto comercial, você declara ter
|
|
78
|
+
lido, compreendido e concordado com os termos desta licença.
|
package/README.md
CHANGED
|
@@ -1,146 +1,271 @@
|
|
|
1
|
-
# @pipelinesolucoes/theme
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
1
|
+
# @pipelinesolucoes/theme
|
|
2
|
+
|
|
3
|
+
Base de tema e design system da Pipeline Soluções para aplicações React com Material UI (MUI).
|
|
4
|
+
|
|
5
|
+
Esta lib não impõe um tema final nem um ThemeProvider.
|
|
6
|
+
Ela define o contrato de tema, os tokens compartilhados e os helpers para que múltiplas libs de componentes (pipesol-button, pipesol-formulario, etc.) possam coexistir no mesmo projeto sem conflitos de theme.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## ✨ Objetivo
|
|
11
|
+
|
|
12
|
+
Resolver o problema clássico de:
|
|
13
|
+
|
|
14
|
+
- múltiplas libs React
|
|
15
|
+
- cada uma com seus próprios tokens de tema
|
|
16
|
+
- todas usando MUI
|
|
17
|
+
- sem sobrescrever o tema umas das outras
|
|
18
|
+
|
|
19
|
+
A solução adotada:
|
|
20
|
+
|
|
21
|
+
- 1 lib base de theme (@pipesol/theme)
|
|
22
|
+
- cada lib exporta apenas um pedaço do ThemeOptions
|
|
23
|
+
- o projeto final cria um único tema, fazendo merge de tudo
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## 📦 O que esta lib fornece
|
|
29
|
+
|
|
30
|
+
✅ Tipos e interfaces do design system (pipesol.*)
|
|
31
|
+
✅ declare module "@mui/material/styles" unificado
|
|
32
|
+
✅ Integração segura com MUI v6 e v7
|
|
33
|
+
✅ Helper de deep merge (mergeThemeParts)
|
|
34
|
+
✅ Helper para criar o tema final (createPipelineSolucoesTheme)
|
|
35
|
+
✅ Arquivo runtime real (mui-theme.js) para garantir carregamento do augmentation
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 🧱 Estrutura interna (resumo)
|
|
40
|
+
|
|
41
|
+
@pipesol/theme
|
|
42
|
+
├─ types → contratos e tokens
|
|
43
|
+
├─ mui-theme.ts → module augmentation (gera JS real no dist)
|
|
44
|
+
├─ mergeThemeParts → deep merge de ThemeOptions
|
|
45
|
+
├─ createTheme → helper para criar o theme final
|
|
46
|
+
└─ index.ts → entrypoint
|
|
47
|
+
|
|
48
|
+
## 🧩 Tokens disponíveis
|
|
49
|
+
|
|
50
|
+
theme.pipesol.buttons
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
type ButtonKind = "primary" | "secondary" | "tertiary" | "delete" | "none";
|
|
54
|
+
|
|
55
|
+
interface PipeSolButtonTokens {
|
|
56
|
+
background: string;
|
|
57
|
+
backgroundHover: string;
|
|
58
|
+
color: string;
|
|
59
|
+
colorHover: string;
|
|
60
|
+
borderRadius: string;
|
|
61
|
+
boxShadow?: string;
|
|
62
|
+
padding: string;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
theme.pipesol.forms
|
|
68
|
+
```
|
|
69
|
+
interface PipeSolFormTokens {
|
|
70
|
+
notification?: {
|
|
71
|
+
background: string;
|
|
72
|
+
};
|
|
73
|
+
field?: {
|
|
74
|
+
background?: string;
|
|
75
|
+
backgroundDisabled?: string;
|
|
76
|
+
color?: string;
|
|
77
|
+
colorFocused?: string;
|
|
78
|
+
colorDisabled?: string;
|
|
79
|
+
borderRadius?: string;
|
|
80
|
+
boxShadow?: string;
|
|
81
|
+
borderColor?: string;
|
|
82
|
+
padding?: string;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Novos domínios (ex: menu, cards, sections) devem ser adicionados aqui, mantendo um único contrato.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 🧪 Como usar nas libs de componentes
|
|
92
|
+
|
|
93
|
+
Exemplo: pipesol-button
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
import type { ThemeOptions } from "@mui/material/styles";
|
|
97
|
+
|
|
98
|
+
export const buttonsThemeOptions: ThemeOptions = {
|
|
99
|
+
pipesol: {
|
|
100
|
+
buttons: {
|
|
101
|
+
primary: {
|
|
102
|
+
background: "#216fed",
|
|
103
|
+
backgroundHover: "#005ce3",
|
|
104
|
+
color: "#fff",
|
|
105
|
+
colorHover: "#fff",
|
|
106
|
+
borderRadius: "9999px",
|
|
107
|
+
padding: "8px 24px",
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
📌 Regras importantes para as libs:
|
|
115
|
+
❌ não criar ThemeProvider
|
|
116
|
+
❌ não chamar createTheme
|
|
117
|
+
✅ exportar apenas ThemeOptions
|
|
118
|
+
✅ declarar @pipesol/theme como peerDependency
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
## 🧩 Como usar no projeto final (app)
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
import { ThemeProvider } from "@mui/material/styles";
|
|
125
|
+
import {
|
|
126
|
+
createPipelineSolucoesTheme,
|
|
127
|
+
} from "@pipesol/theme";
|
|
128
|
+
|
|
129
|
+
import { buttonsThemeOptions } from "pipesol-button/theme";
|
|
130
|
+
import { formsThemeOptions } from "pipesol-formulario/theme";
|
|
131
|
+
|
|
132
|
+
const theme = createPipelineSolucoesTheme(
|
|
133
|
+
formsThemeOptions,
|
|
134
|
+
buttonsThemeOptions
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
export function Providers({ children }: { children: React.ReactNode }) {
|
|
138
|
+
return <ThemeProvider theme={theme}>{children}</ThemeProvider>;
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
✔️ Um único ThemeProvider
|
|
143
|
+
✔️ Todos os tokens disponíveis em theme.pipesol.*
|
|
144
|
+
✔️ Sem conflitos entre libs
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
## 🔧 Funções exportadas
|
|
148
|
+
|
|
149
|
+
mergeThemeParts
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
mergeThemeParts(...parts: ThemeOptions[]): ThemeOptions
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Faz deep merge seguro de múltiplos ThemeOptions.
|
|
156
|
+
|
|
157
|
+
createPipelineSolucoesTheme
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
createPipelineSolucoesTheme(...parts: ThemeOptions[]): Theme
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Cria o tema final do app a partir dos pedaços fornecidos.
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
## ⚙️ Compatibilidade
|
|
167
|
+
✅ React 18 / 19
|
|
168
|
+
✅ MUI v6 e v7
|
|
169
|
+
✅ Emotion
|
|
170
|
+
✅ Next.js / Vite / CRA
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
## 🔐 Licença de uso comercial
|
|
174
|
+
|
|
175
|
+
Este pacote é publicamente acessível no npm, porém:
|
|
176
|
+
|
|
177
|
+
O uso comercial é licenciado por projeto.
|
|
178
|
+
|
|
179
|
+
**O que isso significa?**
|
|
180
|
+
|
|
181
|
+
O pacote pode ser instalado e avaliado livremente.
|
|
182
|
+
|
|
183
|
+
Para uso em projetos comerciais, é necessária a aquisição de uma licença válida por projeto.
|
|
184
|
+
|
|
185
|
+
**Definição de projeto**
|
|
186
|
+
|
|
187
|
+
Projeto = 1 aplicação em produção
|
|
188
|
+
(ex.: site institucional, sistema interno ou aplicação SaaS).
|
|
189
|
+
Ambientes de desenvolvimento, staging e homologação estão incluídos no mesmo projeto.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## 📄 O que a licença inclui
|
|
194
|
+
|
|
195
|
+
✔ Uso em 1 projeto
|
|
196
|
+
✔ Atualizações enquanto a licença estiver ativa
|
|
197
|
+
✔ Correções de bugs
|
|
198
|
+
✔ Suporte básico
|
|
199
|
+
✔ Evolução contínua do pacote
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## ⚙️ Configuração de licença (mock)
|
|
204
|
+
|
|
205
|
+
Após adquirir a licença, você receberá um Project ID e uma License Key.
|
|
206
|
+
|
|
207
|
+
No projeto, configure as variáveis de ambiente:
|
|
208
|
+
|
|
209
|
+
PIPESOL_PROJECT_ID=meu-projeto
|
|
210
|
+
PIPESOL_THEME_LICENSE_KEY=SUA-LICENSE-KEY-AQUI
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
Atualmente, a validação é local e não bloqueante, servindo como preparação para automação futura.
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 🔁 Versionamento
|
|
218
|
+
|
|
219
|
+
Este projeto segue Semantic Versioning (SemVer):
|
|
220
|
+
|
|
221
|
+
1.0.1 – Correção de bugs
|
|
222
|
+
|
|
223
|
+
1.1.0 – Nova funcionalidade compatível
|
|
224
|
+
|
|
225
|
+
2.0.0 – Mudança incompatível
|
|
226
|
+
|
|
227
|
+
1.0.0-beta.x – Versões beta
|
|
228
|
+
|
|
229
|
+
Para listar as versões publicadas:
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
npm view @pipelinesolucoes/theme versions --json
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## 🚀 Processo de publicação
|
|
236
|
+
|
|
237
|
+
Este pacote é publicado exclusivamente via CI/CD utilizando GitHub Actions.
|
|
238
|
+
|
|
239
|
+
Características do processo:
|
|
240
|
+
|
|
241
|
+
- Publicação apenas por tags Git (vX.Y.Z)
|
|
242
|
+
- Autenticação via Trusted Publishing (OIDC)
|
|
243
|
+
- Nenhum token npm armazenado
|
|
244
|
+
- Tokens clássicos desabilitados
|
|
245
|
+
- Autenticação em dois fatores (2FA) obrigatória
|
|
246
|
+
- Publicações seguras, rastreáveis e reprodutíveis
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 📬 Aquisição de licença e contato
|
|
251
|
+
|
|
252
|
+
Para adquirir uma licença comercial ou obter mais informações:
|
|
253
|
+
|
|
254
|
+
📧 contato@pipelinesolucoes.com.br
|
|
255
|
+
🌐 https://www.pipelinesolucoes.com.br
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## 📄 Licença
|
|
260
|
+
|
|
261
|
+
Copyright © 2025 Pipeline Soluções.
|
|
262
|
+
|
|
263
|
+
Este software é distribuído sob um **modelo de licença comercial por projeto**.
|
|
264
|
+
|
|
265
|
+
A instalação do pacote é permitida para avaliação e desenvolvimento local.
|
|
266
|
+
O uso em produção ou em projetos comerciais requer a aquisição
|
|
267
|
+
de uma licença válida junto à Pipeline Soluções.
|
|
268
|
+
|
|
269
|
+
Consulte o arquivo LICENSE para os termos completos.
|
|
270
|
+
|
|
271
|
+
|