@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 +6 -1
- package/README.md +40 -66
- package/dist/componentes-esperanca.es.js +8307 -7207
- package/dist/componentes-esperanca.es.js.map +1 -1
- package/dist/componentes-esperanca.umd.js +82 -70
- package/dist/componentes-esperanca.umd.js.map +1 -1
- package/dist/components/BarChart/BarChart.d.ts +7 -0
- package/dist/components/Charts/ChartPreferencesMenu.d.ts +20 -0
- package/dist/components/Charts/ChartShell.d.ts +53 -0
- package/dist/components/Charts/chartTypes.d.ts +53 -0
- package/dist/components/Charts/chartUtils.d.ts +38 -0
- package/dist/components/Charts/useChartPreferences.d.ts +14 -0
- package/dist/components/LineChart/LineChart.d.ts +8 -0
- package/dist/components/Sidebar/Sidebar.d.ts +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/style.css +1 -1
- package/package.json +4 -2
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
|
|
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
|
|
9
|
+
- Rodar docs locais: `npm run dev:docs`
|
|
10
10
|
- Build da biblioteca: `npm run build`
|
|
11
|
-
-
|
|
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
|
-
-
|
|
18
|
-
- Publicacao
|
|
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
|
-
├──
|
|
24
|
-
├──
|
|
25
|
-
├──
|
|
26
|
-
├──
|
|
27
|
-
├── .
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
|
46
|
+
npm run dev:docs
|
|
90
47
|
```
|
|
91
48
|
|
|
92
|
-
Acesse o
|
|
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
|
-
###
|
|
56
|
+
### Build das docs
|
|
100
57
|
```bash
|
|
101
|
-
|
|
58
|
+
npm run build:docs
|
|
102
59
|
```
|
|
103
60
|
|
|
104
|
-
|
|
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
|
|
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
|
|
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`
|