@actionexec/dashboards 0.16.2 → 0.18.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/README.md +90 -71
- package/dist/ColorPaletteSelector-nBO_fbbj.js.map +1 -1
- package/dist/Statement.d.ts +17 -3
- package/dist/Statement.test.d.ts +1 -0
- package/dist/hooks/useCollapse.d.ts +22 -0
- package/dist/hooks/useCurrentPeriod.d.ts +9 -0
- package/dist/hooks/useNarrowPane.d.ts +9 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1183 -748
- package/dist/index.js.map +1 -1
- package/dist/internals.js.map +1 -1
- package/dist/styles/tokens.test.d.ts +1 -0
- package/dist/styles.css +1 -1
- package/dist/utils/statementOutline.d.ts +40 -0
- package/dist/utils/statementOutline.test.d.ts +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,71 +1,90 @@
|
|
|
1
|
-
# @actionexec/dashboards
|
|
2
|
-
|
|
3
|
-
Biblioteca React para consumo de dashboards e demonstrativos servidos pela
|
|
4
|
-
plataforma Action. Dedicada as APIs `/external/dashboards` e
|
|
5
|
-
`/external/statements` — zero configuracao, so passe o token.
|
|
6
|
-
|
|
7
|
-
## Instalacao
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install @actionexec/dashboards
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Peer deps: `react`, `react-dom`, `recharts`, `react-datepicker`.
|
|
14
|
-
|
|
15
|
-
## Uso
|
|
16
|
-
|
|
17
|
-
```tsx
|
|
18
|
-
import { Dashboard, Statement } from '@actionexec/dashboards';
|
|
19
|
-
import '@actionexec/dashboards/styles.css';
|
|
20
|
-
|
|
21
|
-
export function App() {
|
|
22
|
-
return (
|
|
23
|
-
<>
|
|
24
|
-
<Dashboard token="token-do-dashboard" />
|
|
25
|
-
<Statement token="token-do-demonstrativo" />
|
|
26
|
-
</>
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Cada token responde por um recurso: o do dashboard nao abre um demonstrativo e
|
|
32
|
-
vice-versa.
|
|
33
|
-
|
|
34
|
-
## API publica
|
|
35
|
-
|
|
36
|
-
### `<Dashboard>`
|
|
37
|
-
|
|
38
|
-
Renderiza um dashboard completo com interatividade (filtros, variaveis, paleta).
|
|
39
|
-
|
|
40
|
-
| Prop | Tipo | Default | Descricao |
|
|
41
|
-
|---|---|---|---|
|
|
42
|
-
| `token` | `string` | — | Token Bearer do dashboard (obrigatorio) |
|
|
43
|
-
| `cellAspect` | `number` | `1` | Proporcao largura/altura da celula do grid |
|
|
44
|
-
| `stackBelow` | `number \| 'auto'` | — | Largura (px) abaixo da qual os widgets empilham em coluna unica; `'auto'` usa o limiar natural do layout; ausente nunca empilha |
|
|
45
|
-
| `onGeometryChange` | `(g: DashboardGeometry) => void` | — | Notificado a cada mudanca de medida — util para hosts de altura fixa |
|
|
46
|
-
| `silenceWarnings` | `boolean` | `false` | Desliga o aviso de corte emitido no console |
|
|
47
|
-
| `className` | `string` | — | Classe CSS adicional no container raiz |
|
|
48
|
-
|
|
49
|
-
### `<Statement>`
|
|
50
|
-
|
|
51
|
-
Renderiza um demonstrativo completo — linhas x colunas de periodo, com janela de
|
|
52
|
-
datas ajustavel e download em PDF.
|
|
53
|
-
|
|
54
|
-
| Prop | Tipo | Default | Descricao |
|
|
55
|
-
|---|---|---|---|
|
|
56
|
-
| `token` | `string` | — | Token Bearer do demonstrativo (obrigatorio) |
|
|
57
|
-
| `palette` | `string[]` | paleta Action | Paleta de 15 cores, no formato do dashboard — para quem embute os dois lado a lado |
|
|
58
|
-
| `showDownload` | `boolean` | `true` | Exibe o botao de download do PDF |
|
|
59
|
-
| `
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
1
|
+
# @actionexec/dashboards
|
|
2
|
+
|
|
3
|
+
Biblioteca React para consumo de dashboards e demonstrativos servidos pela
|
|
4
|
+
plataforma Action. Dedicada as APIs `/external/dashboards` e
|
|
5
|
+
`/external/statements` — zero configuracao, so passe o token.
|
|
6
|
+
|
|
7
|
+
## Instalacao
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @actionexec/dashboards
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Peer deps: `react`, `react-dom`, `recharts`, `react-datepicker`.
|
|
14
|
+
|
|
15
|
+
## Uso
|
|
16
|
+
|
|
17
|
+
```tsx
|
|
18
|
+
import { Dashboard, Statement } from '@actionexec/dashboards';
|
|
19
|
+
import '@actionexec/dashboards/styles.css';
|
|
20
|
+
|
|
21
|
+
export function App() {
|
|
22
|
+
return (
|
|
23
|
+
<>
|
|
24
|
+
<Dashboard token="token-do-dashboard" />
|
|
25
|
+
<Statement token="token-do-demonstrativo" />
|
|
26
|
+
</>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Cada token responde por um recurso: o do dashboard nao abre um demonstrativo e
|
|
32
|
+
vice-versa.
|
|
33
|
+
|
|
34
|
+
## API publica
|
|
35
|
+
|
|
36
|
+
### `<Dashboard>`
|
|
37
|
+
|
|
38
|
+
Renderiza um dashboard completo com interatividade (filtros, variaveis, paleta).
|
|
39
|
+
|
|
40
|
+
| Prop | Tipo | Default | Descricao |
|
|
41
|
+
|---|---|---|---|
|
|
42
|
+
| `token` | `string` | — | Token Bearer do dashboard (obrigatorio) |
|
|
43
|
+
| `cellAspect` | `number` | `1` | Proporcao largura/altura da celula do grid |
|
|
44
|
+
| `stackBelow` | `number \| 'auto'` | — | Largura (px) abaixo da qual os widgets empilham em coluna unica; `'auto'` usa o limiar natural do layout; ausente nunca empilha |
|
|
45
|
+
| `onGeometryChange` | `(g: DashboardGeometry) => void` | — | Notificado a cada mudanca de medida — util para hosts de altura fixa |
|
|
46
|
+
| `silenceWarnings` | `boolean` | `false` | Desliga o aviso de corte emitido no console |
|
|
47
|
+
| `className` | `string` | — | Classe CSS adicional no container raiz |
|
|
48
|
+
|
|
49
|
+
### `<Statement>`
|
|
50
|
+
|
|
51
|
+
Renderiza um demonstrativo completo — linhas x colunas de periodo, com janela de
|
|
52
|
+
datas ajustavel e download em PDF.
|
|
53
|
+
|
|
54
|
+
| Prop | Tipo | Default | Descricao |
|
|
55
|
+
|---|---|---|---|
|
|
56
|
+
| `token` | `string` | — | Token Bearer do demonstrativo (obrigatorio) |
|
|
57
|
+
| `palette` | `string[]` | paleta Action | Paleta de 15 cores, no formato do dashboard — para quem embute os dois lado a lado |
|
|
58
|
+
| `showDownload` | `boolean` | `true` | Exibe o botao de download do PDF |
|
|
59
|
+
| `layout` | `'auto' \| 'table' \| 'periods'` | `'auto'` | Como o documento se desenha: a folha de colunas (`table`), um periodo por vez com seletor (`periods`), ou a escolha pela largura do container raiz (`auto`: `periods` abaixo de 600 px, `table` acima; sem `ResizeObserver` fica em `table`) |
|
|
60
|
+
| `className` | `string` | — | Classe CSS adicional no container raiz |
|
|
61
|
+
|
|
62
|
+
Todos os valores sao computados no servidor: o componente nao agrega, nao
|
|
63
|
+
formata numero e nao avalia formula. E o que garante que o documento exibido aqui
|
|
64
|
+
seja identico ao do construtor da plataforma e ao PDF baixado.
|
|
65
|
+
|
|
66
|
+
A folha vive num viewport com scroll nos dois eixos (a barra horizontal fica na
|
|
67
|
+
borda visivel, nao no fundo da tabela) e uma faixa de periodos no topo, que marca
|
|
68
|
+
a coluna mais a vista. Secoes com recuo se recolhem na tela; o PDF continua com o
|
|
69
|
+
documento inteiro.
|
|
70
|
+
|
|
71
|
+
**Abaixo de 600 px** (`layout="auto"` num celular, ou `layout="periods"`) a folha
|
|
72
|
+
da lugar a um periodo por vez: seletor com setas de 40 px e um `<select>` nativo
|
|
73
|
+
com todas as colunas (a de total por ultimo, quando o documento a tem), e uma
|
|
74
|
+
lista de duas colunas com o rotulo e o valor do periodo escolhido. Embaixo do
|
|
75
|
+
valor vai a variacao contra o periodo anterior (o percentual da analise
|
|
76
|
+
horizontal quando o documento a pede; senao, o valor anterior), que o toggle
|
|
77
|
+
"Comparar com o anterior" liga e desliga. Recolher e expandir secoes e o mesmo
|
|
78
|
+
estado nos dois modos: girar o celular nao desfaz o que o leitor abriu. O
|
|
79
|
+
container raiz recebe `stmt--table` ou `stmt--periods` conforme o modo em vigor.
|
|
80
|
+
O PDF nao muda com o modo.
|
|
81
|
+
|
|
82
|
+
Na folha em pane estreito (`layout="table"` abaixo de 600 px), a barra de
|
|
83
|
+
controles quebra linha, a legenda "Base" ganha uma linha propria e a coluna de
|
|
84
|
+
rotulos se limita a 40% do viewport da folha, quebrando o nome da conta. Quem
|
|
85
|
+
embute nao precisa mais de override proprio para isso.
|
|
86
|
+
|
|
87
|
+
### `ApiError`
|
|
88
|
+
|
|
89
|
+
Erro lancado internamente quando a API retorna status != 2xx. Exposto para quem
|
|
90
|
+
quiser fazer error boundary customizada em torno dos componentes.
|