@esperanca-ui/componentes 2.13.6 → 2.14.0

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/COMPONENTS.md CHANGED
@@ -168,10 +168,13 @@ export function TopQuickActions() {
168
168
  - `PageHeader` aceita qualquer `actions`, mas o layout do grupo de acoes continua sendo responsabilidade do app.
169
169
  - `Tabs` foi pensado para dois niveis: navegacao contextual (`Resumo`, `Timeline`, `Gantt`, `Calendario`) e troca de modo (`Dia`, `Semana`, `Mes`).
170
170
  - `Sidebar` agora expõe `surface="default" | "soft" | "glass"` como API publica para definir a superficie do menu lateral.
171
+ - Itens do `Sidebar` aceitam `children` para submenu nativo. Em desktop o grupo abre no hover; em mobile o mesmo item funciona como toggle por clique.
171
172
  - No desktop, o `Sidebar` se comporta como lateral fixa real; a docs aplica um override local so para manter os previews contidos na vitrine.
172
173
  - `TaskStatusBadge` e `TaskPriorityBadge` foram pensados como blocos base para agenda, cards de tarefa, timeline e Gantt.
173
174
  - Ambos aceitam presets prontos e tambem `name` + `colors` para cenarios customizados sem criar outro componente.
174
175
  - `TaskCard` e um wrapper de alto nivel sobre `Card`, herdando as mesmas variantes (`elevated`, `outlined`, `filled`, `glass`) e props visuais como `interactive`, `glassOpacity` e `glassBlur`.
176
+ - `LineChart` e `BarChart` usam SVG nativo, tooltip/legenda embutidos e o mesmo shell visual de `Card`, com controle de `legendPosition`, `xAxisLabel`, `yAxisLabel`, `yAxisTickWidth`, `showValueLabels` e `xTickRotation`.
177
+ - Quando `enableUserPreferences` estiver ativo, o proprio usuario pode ajustar itens como titulo, legenda, nomes dos eixos, valores sobre os dados e orientacao do eixo X. Se `preferencesStorageKey` for informado, isso fica salvo em `localStorage`.
175
178
  - `TaskCalendar` usa o mesmo contrato visual do `Card` e agora suporta `month`, `week` e `day`. No mes as tarefas ficam pequenas como badges; em semana e dia o padrao vira card com mais contexto.
176
179
  - `GanttChart` fecha a visao horizontal de planejamento e usa `groups` como primeiro nivel. Assim, o mesmo componente serve para agrupar por projeto ou por responsavel.
177
180
 
@@ -189,6 +192,8 @@ export function TopQuickActions() {
189
192
  | `FormSidebar` | `import { FormSidebar } from '@esperanca-ui/componentes'` | `<FormSidebar isOpen={open} onClose={...}>...</FormSidebar>` |
190
193
  | `Grid` | `import { Grid } from '@esperanca-ui/componentes'` | `<Grid columns={{ base: 1, md: 2 }} gap={4}>...</Grid>` |
191
194
  | `Input` | `import { Input } from '@esperanca-ui/componentes'` | `<Input label="Email" placeholder="Digite" />` |
195
+ | `LineChart` | `import { LineChart } from '@esperanca-ui/componentes'` | `<LineChart data={data} series={series} legendPosition="top" showValueLabels enableUserPreferences preferencesStorageKey="receita-board" />` |
196
+ | `BarChart` | `import { BarChart } from '@esperanca-ui/componentes'` | `<BarChart data={data} series={series} xAxisLabel="Mes" yAxisLabel="Valor" yAxisTickWidth={112} showValueLabels enableUserPreferences />` |
192
197
  | `Loading` | `import { Loading } from '@esperanca-ui/componentes'` | `<Loading variant="spinner" />` ou `<Loading fullScreen text="Validando acesso" />` |
193
198
  | `Modal` | `import { Modal } from '@esperanca-ui/componentes'` | `<Modal isOpen={open} onClose={...}>...</Modal>` |
194
199
  | `PageHeader` | `import { PageHeader } from '@esperanca-ui/componentes'` | `<PageHeader title="Clientes" />` |
@@ -196,7 +201,7 @@ export function TopQuickActions() {
196
201
  | `Portal` | `import { Portal } from '@esperanca-ui/componentes'` | `<Portal><div>Overlay</div></Portal>` |
197
202
  | `Radio` | `import { Radio } from '@esperanca-ui/componentes'` | `<Radio label="Opcao A" />` |
198
203
  | `RadioGroup` | `import { RadioGroup } from '@esperanca-ui/componentes'` | `<RadioGroup name="status" options={[...]} />` |
199
- | `Sidebar` | `import { Sidebar } from '@esperanca-ui/componentes'` | `<Sidebar sections={[...]} surface="glass" />` |
204
+ | `Sidebar` | `import { Sidebar } from '@esperanca-ui/componentes'` | `<Sidebar sections={[{ items: [{ label: 'Relatorios', children: [...] }] }]} surface="glass" />` |
200
205
  | `TaskStatusBadge` | `import { TaskStatusBadge } from '@esperanca-ui/componentes'` | `<TaskStatusBadge status="in_progress" />` |
201
206
  | `TaskPriorityBadge` | `import { TaskPriorityBadge } from '@esperanca-ui/componentes'` | `<TaskPriorityBadge priority="high" />` |
202
207
  | `TaskCard` | `import { TaskCard } from '@esperanca-ui/componentes'` | `<TaskCard title="Revisar agenda" status="in_progress" />` |
package/README.md CHANGED
@@ -2,78 +2,35 @@
2
2
 
3
3
  Se voce estiver integrando esta biblioteca em outro projeto e quiser um indice rapido dos componentes publicos, leia tambem `COMPONENTS.md`.
4
4
 
5
- Biblioteca de componentes React (DataTable, Sidebar, FormSidebar, Input, ComboBox, Checkbox, Radio, RadioGroup, Textarea e Button) com estilos em CSS puro, build com Vite e documentação via Storybook.
5
+ Biblioteca de componentes React com estilos em CSS puro, build com Vite e um site de documentacao proprio em `docs-site/`.
6
6
 
7
7
  ## TL;DR
8
8
  - Instalar dependencias: `npm install`
9
- - Rodar Storybook: `npm run storybook`
9
+ - Rodar docs locais: `npm run dev:docs`
10
10
  - Build da biblioteca: `npm run build`
11
- - Docker (docs + CDN): `docker compose up --build`
11
+ - Build das docs: `npm run build:docs`
12
+ - Docker dev: `docker compose up --build dev`
13
+ - Docker prod (docs + CDN): `docker compose up --build prod`
12
14
 
13
15
  ## Arquitetura (alto nivel)
14
16
  - Componentes React em `src/components/`
15
17
  - Estilos globais em `src/index.css` (tema claro/escuro via variaveis CSS)
16
18
  - Build com `tsc` + `vite` e geracao de tipos via `vite-plugin-dts`
17
- - Documentacao visual via Storybook em `.storybook/`
18
- - Publicacao no GitLab Package Registry via pipeline de tag
19
+ - Site de documentacao em `docs-site/` com Vite + React Router
20
+ - Publicacao automatizada via pipeline de tag
21
+ - Publicacao npm com token injetado em CI, sem credenciais no repositorio
19
22
 
20
23
  ## Estrutura de pastas
21
24
  ```
22
25
  .
23
- ├── .cz.toml
24
- ├── .env.example
25
- ├── .gitlab-ci.yml
26
- ├── .npmrc
27
- ├── .storybook
28
- ├── main.ts
29
- ├── preview.css
30
- └── preview.tsx
31
- ├── CHANGELOG.md
32
- ├── README.md
33
- ├── docker
34
- │ └── Dockerfile
35
- ├── docker-compose.yml
36
- ├── docs
37
- │ ├── components.md
38
- │ ├── functions.md
39
- │ ├── tutorial-instalacao-pacote-npm-gitlab.md
40
- │ └── wiki-componentes-react.md
41
- ├── src
42
- │ ├── components
43
- │ │ ├── Button
44
- │ │ │ ├── Button.stories.tsx
45
- │ │ │ └── Button.tsx
46
- │ │ ├── Checkbox
47
- │ │ │ ├── Checkbox.stories.tsx
48
- │ │ │ └── Checkbox.tsx
49
- │ │ ├── ComboBox
50
- │ │ │ ├── ComboBox.stories.tsx
51
- │ │ │ └── ComboBox.tsx
52
- │ │ ├── FormSidebar
53
- │ │ │ ├── FormSidebar.stories.tsx
54
- │ │ │ └── FormSidebar.tsx
55
- │ │ ├── Input
56
- │ │ │ ├── Input.stories.tsx
57
- │ │ │ └── Input.tsx
58
- │ │ ├── Radio
59
- │ │ │ ├── Radio.stories.tsx
60
- │ │ │ └── Radio.tsx
61
- │ │ ├── Textarea
62
- │ │ │ ├── Textarea.stories.tsx
63
- │ │ │ └── Textarea.tsx
64
- │ │ ├── Sidebar
65
- │ │ │ ├── Sidebar.stories.tsx
66
- │ │ │ └── Sidebar.tsx
67
- │ │ └── Table
68
- │ │ ├── DataTable.stories.tsx
69
- │ │ └── DataTable.tsx
70
- │ ├── hooks
71
- │ │ └── useClickOutside.ts
72
- │ ├── index.css
73
- │ └── index.ts
74
- ├── tsconfig.json
75
- ├── tsconfig.node.json
76
- └── vite.config.ts
26
+ ├── docs-site/ # app de documentacao
27
+ ├── docker/ # imagens e configuracao nginx
28
+ ├── docs/ # guias de uso/publicacao
29
+ ├── src/ # biblioteca publicada
30
+ ├── .gitlab-ci.yml # validacao + publicacao
31
+ ├── package.json # scripts e metadados do pacote
32
+ ├── vite.config.ts # build da biblioteca
33
+ └── vite.config.docs.ts # build das docs
77
34
  ```
78
35
 
79
36
  ## Configuracao (.env)
@@ -86,22 +43,36 @@ TODO: completar
86
43
  ### Desenvolvimento
87
44
  ```bash
88
45
  npm install
89
- npm run storybook
46
+ npm run dev:docs
90
47
  ```
91
48
 
92
- Acesse o Storybook local em `http://localhost:6006`.
49
+ Acesse o site de documentacao local em `http://localhost:3000`.
93
50
 
94
51
  ### Build da biblioteca
95
52
  ```bash
96
53
  npm run build
97
54
  ```
98
55
 
99
- ### Docker (Storybook estatico + CDN)
56
+ ### Build das docs
100
57
  ```bash
101
- docker compose up --build
58
+ npm run build:docs
102
59
  ```
103
60
 
104
- Acesse a versao estatica em `http://localhost:3007`.
61
+ ### Docker
62
+ Desenvolvimento:
63
+
64
+ ```bash
65
+ docker compose up --build dev
66
+ ```
67
+
68
+ Docs em producao + artefatos da biblioteca em `/cdn`:
69
+
70
+ ```bash
71
+ docker compose up --build prod
72
+ ```
73
+
74
+ - Dev em `http://localhost:3007`
75
+ - Prod em `http://localhost:3008`
105
76
 
106
77
  ## Uso rapido
107
78
  ```tsx
@@ -110,6 +81,7 @@ import '@esperanca-ui/componentes/style.css';
110
81
  ```
111
82
 
112
83
  Tambem inclui componentes para gestao de projetos, como `TaskStatusBadge`, `TaskPriorityBadge`, `TaskCard` e `TaskCalendar`.
84
+ Os estilos dos graficos (`LineChart` e `BarChart`) tambem saem nesse mesmo `@esperanca-ui/componentes/style.css`.
113
85
 
114
86
  ## Quick Actions de Topo
115
87
 
@@ -120,7 +92,7 @@ O exemplo completo esta em `COMPONENTS.md`.
120
92
  ## Verificacao rapida
121
93
  ```bash
122
94
  npm run build
123
- npm run build-storybook
95
+ npm run build:docs
124
96
  ```
125
97
 
126
98
  ## Documentacao
@@ -128,4 +100,6 @@ npm run build-storybook
128
100
  - Funcoes/exports: `docs/functions.md`
129
101
  - Componentes: `docs/components.md`
130
102
  - Roadmap de gestao de projetos: `docs/componentes-gestao-projetos.md`
131
- - Tutorial de instalacao em outro projeto: `docs/tutorial-instalacao-pacote-npm-gitlab.md`
103
+ - Tutorial de instalacao do pacote publico: `docs/tutorial-instalacao-pacote-publico.md`
104
+ - Tutorial de instalacao via GitLab interno: `docs/tutorial-instalacao-pacote-npm-gitlab.md`
105
+ - Publicacao do pacote: `docs/publicacao-npm-e-gitlab.md`