karsten-design-system 2.0.24 → 2.0.26

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.
Files changed (40) hide show
  1. package/README.md +230 -230
  2. package/dist/components/field-clear-button.d.ts +9 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.js +605 -168
  5. package/dist/index.js.map +1 -1
  6. package/dist/stories/components/breadcrumb.d.ts +2 -1
  7. package/dist/stories/components/checkbox.d.ts +10 -5
  8. package/dist/stories/components/dropDown.d.ts +2 -1
  9. package/dist/stories/components/header.d.ts +8 -1
  10. package/dist/stories/components/internalMenu.d.ts +2 -1
  11. package/dist/stories/components/multiselect.d.ts +3 -0
  12. package/dist/stories/components/select.d.ts +2 -0
  13. package/dist/stories/components/storybookThemeToggle.d.ts +1 -0
  14. package/dist/stories/components/table.d.ts +53 -2
  15. package/dist/stories/components/tooltip.d.ts +3 -1
  16. package/dist/stories/components/useDropdownPosition.d.ts +24 -0
  17. package/dist/tokens/theme.d.ts +6 -0
  18. package/dist/types/components/field-clear-button.d.ts +9 -0
  19. package/dist/types/index.d.ts +2 -0
  20. package/dist/types/internalMenu.d.ts +3 -0
  21. package/dist/types/stories/components/breadcrumb.d.ts +2 -1
  22. package/dist/types/stories/components/checkbox.d.ts +10 -5
  23. package/dist/types/stories/components/dropDown.d.ts +2 -1
  24. package/dist/types/stories/components/header.d.ts +8 -1
  25. package/dist/types/stories/components/internalMenu.d.ts +2 -1
  26. package/dist/types/stories/components/multiselect.d.ts +3 -0
  27. package/dist/types/stories/components/select.d.ts +2 -0
  28. package/dist/types/stories/components/storybookThemeToggle.d.ts +1 -0
  29. package/dist/types/stories/components/table.d.ts +53 -2
  30. package/dist/types/stories/components/tooltip.d.ts +3 -1
  31. package/dist/types/stories/components/useDropdownPosition.d.ts +24 -0
  32. package/dist/types/table.d.ts +2 -0
  33. package/dist/types/tokens/theme.d.ts +6 -0
  34. package/dist/types/types/internalMenu.d.ts +3 -0
  35. package/dist/types/types/table.d.ts +2 -0
  36. package/dist/types/utils/multiSelectSelection.d.ts +4 -0
  37. package/dist/types/utils/tableSelection.d.ts +11 -0
  38. package/dist/utils/multiSelectSelection.d.ts +4 -0
  39. package/dist/utils/tableSelection.d.ts +11 -0
  40. package/package.json +88 -87
package/README.md CHANGED
@@ -1,230 +1,230 @@
1
- # Karsten Design System
2
-
3
- Biblioteca de componentes React estilizados para projetos da Karsten, construída sobre PrimeReact, Tailwind e Vite.
4
-
5
- ## Instalação
6
-
7
- Com npm:
8
-
9
- ```bash
10
- npm install karsten-design-system
11
- ```
12
-
13
- ## Configuração do PrimeReact
14
-
15
- No main.tsx adicione:
16
-
17
- ```js
18
- import { StrictMode } from "react";
19
- import { createRoot } from "react-dom/client";
20
- import "./index.css";
21
- import App from "./App.tsx";
22
-
23
- import { PrimeReactProvider } from 'primereact/api'; // Adicione o PrimeReactProvider
24
- import Tailwind from 'primereact/passthrough/tailwind'; // Importe o Tailwind
25
- import './index.css';
26
-
27
- createRoot(document.getElementById("root")!).render(
28
- <StrictMode>
29
- <PrimeReactProvider value={{ pt: Tailwind }}> {/* Envolva o app no Provider do PrimeReact */}
30
- <App />
31
- </PrimeReactProvider>
32
- </StrictMode>
33
- );
34
- ```
35
-
36
- ## Pré-requisitos
37
-
38
- Dependências peer necessárias no projeto consumidor:
39
-
40
- - React 19 ou superior
41
- - React DOM 19 ou superior
42
- - React Router DOM 7 ou superior
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+
52
-
53
- ## Como usar
54
-
55
- 1. Importe o componente desejado da biblioteca:
56
-
57
- ```jsx
58
- import { Button } from 'karsten-design-system'
59
- ```
60
-
61
- 2. Use o componente em seu projeto:
62
-
63
- ```jsx
64
- function App() {
65
- return <Button label="Clique aqui" />
66
- }
67
- ```
68
-
69
- ## Componentes Disponíveis
70
-
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.
115
-
116
- ## Desenvolvimento
117
-
118
- Para contribuir com o projeto:
119
-
120
- 1. Clone o repositório:
121
-
122
- ```bash
123
- git clone https://github.com/KarstenSA/karsten-design-system.git
124
- ```
125
-
126
- 2. Instale as dependências:
127
-
128
- Com npm:
129
-
130
- ```bash
131
- npm install
132
- ```
133
-
134
- 3. Execute o Storybook para desenvolvimento:
135
-
136
- Com npm:
137
-
138
- ```bash
139
- npm run storybook
140
- ```
141
-
142
- ## Comandos
143
-
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
151
-
152
- Os scripts estão definidos em [package.json](package.json).
153
-
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):
171
-
172
- - `export * from './stories/components/meuComponente'`
173
-
174
- 3. Se necessário, crie tipos em [src/types](src/types) e utilitários em [src/utils](src/utils).
175
-
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)
191
-
192
- ## Publicando uma Nova Versão no NPM
193
-
194
- 1. Atualize a versão no [package.json](package.json)
195
-
196
- Antes de publicar, aumente a versão no `package.json` e `package-lock.json`.
197
-
198
- 2. Faça o build
199
-
200
- Com npm:
201
-
202
- ```bash
203
- npm run build
204
- ```
205
-
206
- 3. Login no NPM
207
-
208
- Se ainda não estiver autenticado, faça login:
209
-
210
- ```bash
211
- npm login
212
- ```
213
-
214
- 4. Publique
215
-
216
- ```bash
217
- npm publish --access public
218
- ```
219
-
220
- ## Resolução de Problemas
221
-
222
- Se aparecer "peer dependencies missing", instale as dependências peer no projeto consumidor:
223
-
224
- - React 19+
225
- - React DOM 19+
226
- - React Router DOM 7+
227
-
228
- ## Licença
229
-
230
- Este projeto está licenciado sob a licença MIT.
1
+ # Karsten Design System
2
+
3
+ Biblioteca de componentes React estilizados para projetos da Karsten, construída sobre PrimeReact, Tailwind e Vite.
4
+
5
+ ## Instalação
6
+
7
+ Com npm:
8
+
9
+ ```bash
10
+ npm install karsten-design-system
11
+ ```
12
+
13
+ ## Configuração do PrimeReact
14
+
15
+ No main.tsx adicione:
16
+
17
+ ```js
18
+ import { StrictMode } from "react";
19
+ import { createRoot } from "react-dom/client";
20
+ import "./index.css";
21
+ import App from "./App.tsx";
22
+
23
+ import { PrimeReactProvider } from 'primereact/api'; // Adicione o PrimeReactProvider
24
+ import Tailwind from 'primereact/passthrough/tailwind'; // Importe o Tailwind
25
+ import './index.css';
26
+
27
+ createRoot(document.getElementById("root")!).render(
28
+ <StrictMode>
29
+ <PrimeReactProvider value={{ pt: Tailwind }}> {/* Envolva o app no Provider do PrimeReact */}
30
+ <App />
31
+ </PrimeReactProvider>
32
+ </StrictMode>
33
+ );
34
+ ```
35
+
36
+ ## Pré-requisitos
37
+
38
+ Dependências peer necessárias no projeto consumidor:
39
+
40
+ - React 19 ou superior
41
+ - React DOM 19 ou superior
42
+ - React Router DOM 7 ou superior
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+
52
+
53
+ ## Como usar
54
+
55
+ 1. Importe o componente desejado da biblioteca:
56
+
57
+ ```jsx
58
+ import { Button } from 'karsten-design-system'
59
+ ```
60
+
61
+ 2. Use o componente em seu projeto:
62
+
63
+ ```jsx
64
+ function App() {
65
+ return <Button label="Clique aqui" />
66
+ }
67
+ ```
68
+
69
+ ## Componentes Disponíveis
70
+
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.
115
+
116
+ ## Desenvolvimento
117
+
118
+ Para contribuir com o projeto:
119
+
120
+ 1. Clone o repositório:
121
+
122
+ ```bash
123
+ git clone https://github.com/KarstenSA/karsten-design-system.git
124
+ ```
125
+
126
+ 2. Instale as dependências:
127
+
128
+ Com npm:
129
+
130
+ ```bash
131
+ npm install
132
+ ```
133
+
134
+ 3. Execute o Storybook para desenvolvimento:
135
+
136
+ Com npm:
137
+
138
+ ```bash
139
+ npm run storybook
140
+ ```
141
+
142
+ ## Comandos
143
+
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
151
+
152
+ Os scripts estão definidos em [package.json](package.json).
153
+
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):
171
+
172
+ - `export * from './stories/components/meuComponente'`
173
+
174
+ 3. Se necessário, crie tipos em [src/types](src/types) e utilitários em [src/utils](src/utils).
175
+
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)
191
+
192
+ ## Publicando uma Nova Versão no NPM
193
+
194
+ 1. Atualize a versão no [package.json](package.json)
195
+
196
+ Antes de publicar, aumente a versão no `package.json` e `package-lock.json`.
197
+
198
+ 2. Faça o build
199
+
200
+ Com npm:
201
+
202
+ ```bash
203
+ npm run build
204
+ ```
205
+
206
+ 3. Login no NPM
207
+
208
+ Se ainda não estiver autenticado, faça login:
209
+
210
+ ```bash
211
+ npm login
212
+ ```
213
+
214
+ 4. Publique
215
+
216
+ ```bash
217
+ npm publish --access public
218
+ ```
219
+
220
+ ## Resolução de Problemas
221
+
222
+ Se aparecer "peer dependencies missing", instale as dependências peer no projeto consumidor:
223
+
224
+ - React 19+
225
+ - React DOM 19+
226
+ - React Router DOM 7+
227
+
228
+ ## Licença
229
+
230
+ Este projeto está licenciado sob a licença MIT.
@@ -0,0 +1,9 @@
1
+ export type FieldClearButtonProps = {
2
+ visible: boolean;
3
+ onClear: () => void;
4
+ disabled?: boolean;
5
+ hasError?: boolean;
6
+ systemLanguage?: 'pt' | 'en' | 'es';
7
+ className?: string;
8
+ };
9
+ export declare function FieldClearButton({ visible, onClear, disabled, hasError, systemLanguage, className, }: FieldClearButtonProps): import("react/jsx-runtime").JSX.Element | null;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ import './tokens/themes.css';
1
2
  import '../.storybook/index.css';
3
+ export * from './tokens/theme';
2
4
  export * from './stories/components/accordion';
3
5
  export * from './stories/components/basicHeader';
4
6
  export * from './stories/components/breadcrumb';