karsten-design-system 2.0.23 → 2.0.24
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 +107 -84
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Karsten Design System
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Biblioteca de componentes React estilizados para projetos da Karsten, construída sobre PrimeReact, Tailwind e Vite.
|
|
4
4
|
|
|
5
5
|
## Instalação
|
|
6
6
|
|
|
@@ -10,12 +10,6 @@ Com npm:
|
|
|
10
10
|
npm install karsten-design-system
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Com yarn:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
yarn add karsten-design-system
|
|
17
|
-
```
|
|
18
|
-
|
|
19
13
|
## Configuração do PrimeReact
|
|
20
14
|
|
|
21
15
|
No main.tsx adicione:
|
|
@@ -41,20 +35,20 @@ createRoot(document.getElementById("root")!).render(
|
|
|
41
35
|
|
|
42
36
|
## Pré-requisitos
|
|
43
37
|
|
|
44
|
-
|
|
38
|
+
Dependências peer necessárias no projeto consumidor:
|
|
45
39
|
|
|
46
|
-
- React
|
|
47
|
-
- React DOM
|
|
40
|
+
- React 19 ou superior
|
|
41
|
+
- React DOM 19 ou superior
|
|
48
42
|
- React Router DOM 7 ou superior
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
- Autoprefixer 10
|
|
43
|
+
|
|
44
|
+
Dependências internas importantes (já empacotadas na lib):
|
|
45
|
+
|
|
46
|
+
- PrimeReact 10+
|
|
47
|
+
- PrimeIcons 7+
|
|
48
|
+
- Tailwind 3+
|
|
49
|
+
- Chart.js 4+
|
|
50
|
+
- clsx 2+
|
|
51
|
+
- PostCSS 8+ e Autoprefixer 10+
|
|
58
52
|
|
|
59
53
|
## Como usar
|
|
60
54
|
|
|
@@ -74,31 +68,50 @@ function App() {
|
|
|
74
68
|
|
|
75
69
|
## Componentes Disponíveis
|
|
76
70
|
|
|
77
|
-
- `Accordion` -
|
|
78
|
-
- `
|
|
79
|
-
- `Breadcrumb` - Navegação hierárquica
|
|
80
|
-
- `Button` - Botão
|
|
81
|
-
- `
|
|
82
|
-
- `
|
|
83
|
-
- `
|
|
84
|
-
- `
|
|
85
|
-
- `
|
|
86
|
-
- `
|
|
87
|
-
- `
|
|
88
|
-
- `
|
|
89
|
-
- `
|
|
90
|
-
- `
|
|
91
|
-
- `
|
|
92
|
-
- `
|
|
93
|
-
- `
|
|
94
|
-
- `
|
|
95
|
-
- `
|
|
96
|
-
- `
|
|
97
|
-
- `
|
|
98
|
-
- `
|
|
99
|
-
- `
|
|
100
|
-
- `
|
|
101
|
-
- `
|
|
71
|
+
- `Accordion` - Seções expansíveis/colapsáveis de conteúdo.
|
|
72
|
+
- `BasicHeader` - Cabeçalho simples para páginas ou seções.
|
|
73
|
+
- `Breadcrumb` - Navegação hierárquica por páginas.
|
|
74
|
+
- `Button` - Botão com variantes de estilo.
|
|
75
|
+
- `CalendarInput` - Campo de data com calendário.
|
|
76
|
+
- `Card` - Contêiner estilizado para conteúdo.
|
|
77
|
+
- `CardButton` - Cartão clicável com ação.
|
|
78
|
+
- `CardIconsButton` - Cartão com ações por ícones.
|
|
79
|
+
- `Charts` - Gráficos usando Chart.js.
|
|
80
|
+
- `Checkbox` - Caixa de seleção.
|
|
81
|
+
- `CountryDropdown` - Seletor de país.
|
|
82
|
+
- `Divider` - Divisor visual de conteúdo.
|
|
83
|
+
- `EmptyContent` - Estado vazio para listas ou telas.
|
|
84
|
+
- `ExpandablePanel` - Painel expansível com conteúdo.
|
|
85
|
+
- `FileUpload` - Upload de arquivos.
|
|
86
|
+
- `Header` - Cabeçalho completo com ações.
|
|
87
|
+
- `IconButton` - Botão com ícone.
|
|
88
|
+
- `InfoCard` - Cartão informativo para destaque.
|
|
89
|
+
- `Input` - Campo de texto.
|
|
90
|
+
- `InputSwitch` - Toggle liga/desliga.
|
|
91
|
+
- `InputTextArea` - Área de texto multilinha.
|
|
92
|
+
- `InternalMenu` - Menu interno de navegação.
|
|
93
|
+
- `LanguageDropdown` - Seletor de idioma.
|
|
94
|
+
- `Link` - Link estilizado.
|
|
95
|
+
- `MegaMenu` - Menu expandido com múltiplas opções.
|
|
96
|
+
- `Modal` - Modal de conteúdo.
|
|
97
|
+
- `ModalForm` - Modal com formulário.
|
|
98
|
+
- `Multiselect` - Seleção múltipla de opções.
|
|
99
|
+
- `NotificationsSidebar` - Sidebar de notificações.
|
|
100
|
+
- `Paginator` - Paginação de listas.
|
|
101
|
+
- `RadioButton` - Seleção única entre opções.
|
|
102
|
+
- `RightSidebar` - Sidebar posicionada à direita.
|
|
103
|
+
- `Select` - Seletor de opções.
|
|
104
|
+
- `SelectButton` - Seleção por botões.
|
|
105
|
+
- `Sidebar` - Sidebar para navegação ou conteúdo.
|
|
106
|
+
- `Skeleton` - Placeholder de carregamento.
|
|
107
|
+
- `Spinner` - Indicador de carregamento.
|
|
108
|
+
- `Table` - Tabela de dados.
|
|
109
|
+
- `Tabs` - Navegação por abas.
|
|
110
|
+
- `TagStatus` - Tag de status.
|
|
111
|
+
- `TextColor` - Texto com variação de cor.
|
|
112
|
+
- `Toast` - Mensagens temporárias.
|
|
113
|
+
- `Tooltip` - Dica contextual.
|
|
114
|
+
- `TransferList` - Lista de transferência entre colunas.
|
|
102
115
|
|
|
103
116
|
## Desenvolvimento
|
|
104
117
|
|
|
@@ -118,12 +131,6 @@ Com npm:
|
|
|
118
131
|
npm install
|
|
119
132
|
```
|
|
120
133
|
|
|
121
|
-
Com yarn:
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
yarn
|
|
125
|
-
```
|
|
126
|
-
|
|
127
134
|
3. Execute o Storybook para desenvolvimento:
|
|
128
135
|
|
|
129
136
|
Com npm:
|
|
@@ -132,33 +139,63 @@ Com npm:
|
|
|
132
139
|
npm run storybook
|
|
133
140
|
```
|
|
134
141
|
|
|
135
|
-
|
|
142
|
+
## Comandos
|
|
136
143
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
144
|
+
- `npm run dev` - Inicia o Vite em modo desenvolvimento
|
|
145
|
+
- `npm run storybook` - Inicia o Storybook
|
|
146
|
+
- `npm run build-storybook` - Gera o build do Storybook
|
|
147
|
+
- `npm run build` - Gera o build da biblioteca (types + rollup)
|
|
148
|
+
- `npm run lint` - Lint do projeto
|
|
149
|
+
- `npm run format` - Formata o código
|
|
150
|
+
- `npm run preview` - Preview do build do Vite
|
|
140
151
|
|
|
141
|
-
|
|
152
|
+
Os scripts estão definidos em [package.json](package.json).
|
|
142
153
|
|
|
143
|
-
|
|
154
|
+
## Estrutura do projeto
|
|
155
|
+
|
|
156
|
+
- [src/index.ts](src/index.ts): ponto de exportação da biblioteca
|
|
157
|
+
- [src/stories/components](src/stories/components): componentes e stories do Storybook
|
|
158
|
+
- [src/types](src/types): tipos compartilhados
|
|
159
|
+
- [src/utils](src/utils): utilitários
|
|
160
|
+
- [src/assets](src/assets): ícones, flags e assets gerais
|
|
161
|
+
- [src/mock](src/mock): mocks para exemplos
|
|
162
|
+
|
|
163
|
+
## Como criar um componente
|
|
164
|
+
|
|
165
|
+
1. Crie o componente em [src/stories/components](src/stories/components) seguindo o padrão existente:
|
|
166
|
+
|
|
167
|
+
- Arquivo do componente (ex.: [src/stories/components/button.tsx](src/stories/components/button.tsx))
|
|
168
|
+
- Story do componente (ex.: [src/stories/components/button.stories.ts](src/stories/components/button.stories.ts))
|
|
169
|
+
|
|
170
|
+
2. Exporte o componente no índice da lib em [src/index.ts](src/index.ts):
|
|
144
171
|
|
|
145
|
-
- `
|
|
146
|
-
- `npm run build-storybook` - Gera o build da biblioteca para hospedagem
|
|
147
|
-
- `npm run build` - Gera o build da biblioteca para publicação no npm
|
|
172
|
+
- `export * from './stories/components/meuComponente'`
|
|
148
173
|
|
|
149
|
-
|
|
174
|
+
3. Se necessário, crie tipos em [src/types](src/types) e utilitários em [src/utils](src/utils).
|
|
150
175
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
- `
|
|
176
|
+
4. Execute o Storybook para validar o componente:
|
|
177
|
+
|
|
178
|
+
- `npm run storybook`
|
|
179
|
+
|
|
180
|
+
### Padrão de implementação
|
|
181
|
+
|
|
182
|
+
- Baseie-se em componentes PrimeReact e aplique classes Tailwind.
|
|
183
|
+
- Use `clsx` para composição de classes.
|
|
184
|
+
- Exporte componentes e tipos de forma nomeada.
|
|
185
|
+
- Adicione `argTypes` e `tags: ['autodocs']` no story para gerar docs automáticas.
|
|
186
|
+
|
|
187
|
+
Exemplos de referência:
|
|
188
|
+
|
|
189
|
+
- [src/stories/components/button.tsx](src/stories/components/button.tsx)
|
|
190
|
+
- [src/stories/components/button.stories.ts](src/stories/components/button.stories.ts)
|
|
154
191
|
|
|
155
192
|
## Publicando uma Nova Versão no NPM
|
|
156
193
|
|
|
157
|
-
1.
|
|
194
|
+
1. Atualize a versão no [package.json](package.json)
|
|
158
195
|
|
|
159
196
|
Antes de publicar, aumente a versão no `package.json` e `package-lock.json`.
|
|
160
197
|
|
|
161
|
-
2.
|
|
198
|
+
2. Faça o build
|
|
162
199
|
|
|
163
200
|
Com npm:
|
|
164
201
|
|
|
@@ -166,12 +203,6 @@ Com npm:
|
|
|
166
203
|
npm run build
|
|
167
204
|
```
|
|
168
205
|
|
|
169
|
-
Com yarn:
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
yarn build
|
|
173
|
-
```
|
|
174
|
-
|
|
175
206
|
3. Login no NPM
|
|
176
207
|
|
|
177
208
|
Se ainda não estiver autenticado, faça login:
|
|
@@ -180,7 +211,7 @@ Se ainda não estiver autenticado, faça login:
|
|
|
180
211
|
npm login
|
|
181
212
|
```
|
|
182
213
|
|
|
183
|
-
4.
|
|
214
|
+
4. Publique
|
|
184
215
|
|
|
185
216
|
```bash
|
|
186
217
|
npm publish --access public
|
|
@@ -188,19 +219,11 @@ npm publish --access public
|
|
|
188
219
|
|
|
189
220
|
## Resolução de Problemas
|
|
190
221
|
|
|
191
|
-
Se
|
|
222
|
+
Se aparecer "peer dependencies missing", instale as dependências peer no projeto consumidor:
|
|
192
223
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
npm install react@^18 react-dom@^18 tailwindcss@^3.4.0 @types/date-fns@^2 chart.js@^4 clsx@^2 date-fns@^1 primeicons@^7 primereact@^10 postcss@^8 autoprefixer@^10
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Com yarn:
|
|
200
|
-
|
|
201
|
-
```bash
|
|
202
|
-
yarn add react@^18 react-dom@^18 tailwindcss@^3.4.0 @types/date-fns@^2 chart.js@^4 clsx@^2 date-fns@^1 primeicons@^7 primereact@^10 postcss@^8 autoprefixer@^10
|
|
203
|
-
```
|
|
224
|
+
- React 19+
|
|
225
|
+
- React DOM 19+
|
|
226
|
+
- React Router DOM 7+
|
|
204
227
|
|
|
205
228
|
## Licença
|
|
206
229
|
|