@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 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
- | `className` | `string` | | Classe CSS adicional no container raiz |
60
-
61
- Todos os valores sao computados no servidor: o componente nao agrega, nao
62
- formata numero e nao avalia formula. E o que garante que o documento exibido aqui
63
- seja identico ao do construtor da plataforma e ao PDF baixado.
64
-
65
- A altura do documento acompanha o numero de linhas; a largura rola na horizontal
66
- quando ha mais colunas de periodo do que cabem.
67
-
68
- ### `ApiError`
69
-
70
- Erro lancado internamente quando a API retorna status != 2xx. Exposto para quem
71
- quiser fazer error boundary customizada em torno dos componentes.
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.