@pipelinesolucoes/theme 1.0.0 → 1.0.2

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 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
- Biblioteca de **componentes de botão para React**, desenvolvida para **padronização visual**, **reutilização** e **escalabilidade** em aplicações modernas e design systems.
4
-
5
- Este pacote faz parte do ecossistema de componentes da **Pipeline Soluções**.
6
-
7
- ---
8
-
9
- ## 📦 Componentes disponíveis
10
-
11
- A biblioteca inclui os seguintes componentes:
12
-
13
- ---
14
-
15
-
16
- ## Características
17
-
18
- - ✅ Pronto para produção
19
- - 🎨 Integração com Material UI
20
- - ♿ Foco em acessibilidade
21
- - 🧩 Ideal para design systems
22
- - 🔄 Reutilizável em múltiplos projetos
23
- - 📦 Publicado no npm com versionamento semântico
24
- - 🔐 Preparado para licenciamento por projeto
25
-
26
- ---
27
-
28
- ## 📥 Instalação
29
-
30
- ```bash
31
- npm install @pipelinesolucoes/button
32
- ou
33
- yarn add @pipelinesolucoes/button
34
-
35
- ```
36
-
37
- ## 🧩 Uso em Design Systems
38
-
39
- Este pacote foi projetado para:
40
-
41
- - padronização de ações e navegação
42
- - reutilização entre projetos
43
- - evolução incremental de UI
44
- - integração com temas e tokens de design
45
-
46
- Pode ser utilizado de forma isolada ou como parte de um design system maior.
47
-
48
- ---
49
-
50
- ## 🔐 Licença de uso comercial
51
-
52
- Este pacote é publicamente acessível no npm, porém:
53
-
54
- O uso comercial é licenciado por projeto.
55
-
56
- **O que isso significa?**
57
-
58
- O pacote pode ser instalado e avaliado livremente.
59
-
60
- Para uso em projetos comerciais, é necessária a aquisição de uma licença válida por projeto.
61
-
62
- **Definição de projeto**
63
-
64
- Projeto = 1 aplicação em produção
65
- (ex.: site institucional, sistema interno ou aplicação SaaS).
66
- Ambientes de desenvolvimento, staging e homologação estão incluídos no mesmo projeto.
67
-
68
- ---
69
-
70
- ## 📄 O que a licença inclui
71
-
72
- ✔ Uso em 1 projeto
73
- Atualizações enquanto a licença estiver ativa
74
- Correções de bugs
75
- Suporte básico
76
- Evolução contínua do pacote
77
-
78
- ---
79
-
80
- ## ⚙️ Configuração de licença (mock)
81
-
82
- Após adquirir a licença, você receberá um Project ID e uma License Key.
83
-
84
- No projeto, configure as variáveis de ambiente:
85
-
86
- PIPESOL_PROJECT_ID=meu-projeto
87
- PIPESOL_BUTTON_LICENSE_KEY=SUA-LICENSE-KEY-AQUI
88
-
89
-
90
- Atualmente, a validação é local e não bloqueante, servindo como preparação para automação futura.
91
-
92
- ---
93
-
94
- ## 🔁 Versionamento
95
-
96
- Este projeto segue Semantic Versioning (SemVer):
97
-
98
- 1.0.1 Correção de bugs
99
-
100
- 1.1.0 – Nova funcionalidade compatível
101
-
102
- 2.0.0 – Mudança incompatível
103
-
104
- 1.0.0-beta.x – Versões beta
105
-
106
- Para listar as versões publicadas:
107
-
108
- ```
109
- npm view @pipelinesolucoes/button versions --json
110
- ```
111
-
112
- ## 🚀 Processo de publicação
113
-
114
- Este pacote é publicado exclusivamente via CI/CD utilizando GitHub Actions.
115
-
116
- Características do processo:
117
-
118
- - Publicação apenas por tags Git (vX.Y.Z)
119
- - Autenticação via Trusted Publishing (OIDC)
120
- - Nenhum token npm armazenado
121
- - Tokens clássicos desabilitados
122
- - Autenticação em dois fatores (2FA) obrigatória
123
- - Publicações seguras, rastreáveis e reprodutíveis
124
-
125
- ---
126
-
127
- ## 📬 Aquisição de licença e contato
128
-
129
- Para adquirir uma licença comercial ou obter mais informações:
130
-
131
- 📧 contato@pipelinesolucoes.com.br
132
- 🌐 https://www.pipelinesolucoes.com.br
133
-
134
- ---
135
-
136
- ## 📄 Licença
137
-
138
- Copyright © Pipeline Soluções
139
- Este software está sujeito a licença comercial por projeto.
140
- Consulte o arquivo LICENSE para mais informações.
141
-
142
- ```
143
- Se você quiser, eu também posso gerar agora o **arquivo `LICENSE`** (texto curto e claro) no mesmo padrão profissional pra você copiar e colar como `LICENSE` no repo.
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
+