nemesischart 2.0.9 → 2.0.11
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 +32 -15
- package/dist/nemesischart.js +1368 -1476
- package/dist/nemesischart.umd.cjs +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -15
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# NemesisChart
|
|
2
2
|
|
|
3
|
-
Biblioteca de componentes Vue 3 para construção rápida de cards e dashboards com gráficos, construída sobre [Chart.js](https://www.chartjs.org/)
|
|
3
|
+
Biblioteca de componentes Vue 3 para construção rápida de cards e dashboards com gráficos, construída sobre [Chart.js](https://www.chartjs.org/) — sem dependências de UI externas (todo o CSS necessário já vem no bundle).
|
|
4
4
|
|
|
5
5
|
Todos os componentes seguem o mesmo padrão: um cartão (`Card*`) que exibe legenda, sublegenda, valor de destaque, descrição e o gráfico correspondente — com suporte a temas claro/escuro, formatação automática de valores e exportação como imagem.
|
|
6
6
|
|
|
@@ -30,10 +30,10 @@ Todos os componentes seguem o mesmo padrão: um cartão (`Card*`) que exibe lege
|
|
|
30
30
|
## Instalação
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
npm install nemesischart chart.js
|
|
33
|
+
npm install nemesischart chart.js
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
`vue
|
|
36
|
+
`vue` e `chart.js` são as únicas peer-deps do bundle de lib. A partir da v2.1.0, PrimeVue, PrimeFlex e PrimeIcons **não são mais necessários** — os estilos utilitários usados pelos componentes são embutidos em `nemesischart/style.css` (prefixo `nc-`), mantendo o mesmo visual.
|
|
37
37
|
|
|
38
38
|
## Uso rápido
|
|
39
39
|
|
|
@@ -41,18 +41,12 @@ npm install nemesischart chart.js primevue primeflex primeicons
|
|
|
41
41
|
|
|
42
42
|
```js
|
|
43
43
|
import { createApp } from 'vue'
|
|
44
|
-
import PrimeVue from 'primevue/config'
|
|
45
44
|
import NemesisChart from 'nemesischart'
|
|
46
45
|
import 'nemesischart/style.css'
|
|
47
46
|
|
|
48
|
-
import 'primevue/resources/themes/lara-light-blue/theme.css'
|
|
49
|
-
import 'primeicons/primeicons.css'
|
|
50
|
-
import 'primeflex/primeflex.css'
|
|
51
|
-
|
|
52
47
|
import App from './App.vue'
|
|
53
48
|
|
|
54
49
|
createApp(App)
|
|
55
|
-
.use(PrimeVue)
|
|
56
50
|
.use(NemesisChart)
|
|
57
51
|
.mount('#app')
|
|
58
52
|
```
|
|
@@ -135,6 +129,21 @@ Props específicas:
|
|
|
135
129
|
| `corDetalhesSecundaria` | String | — | Segunda cor para gradiente combinado. |
|
|
136
130
|
| `series` | Array | — | Várias linhas. |
|
|
137
131
|
| `direcao` | `top` \| `bottom` \| `left` \| `right` | `top` | Posição do header em relação ao gráfico. |
|
|
132
|
+
| `detalheTooltip` | Function | — | `(item, index) => string \| string[]`. Recebe o item original de `data` e retorna texto(s) extra(s) exibidos no tooltip abaixo do valor. |
|
|
133
|
+
|
|
134
|
+
Exemplo — mostrar a quantidade de pagamentos por mês no tooltip, além do valor:
|
|
135
|
+
|
|
136
|
+
```vue
|
|
137
|
+
<CardLinhas
|
|
138
|
+
legenda="Pagamentos realizados"
|
|
139
|
+
tipoValor="moeda"
|
|
140
|
+
:data="[
|
|
141
|
+
{ rotulo: 'Jan', quantidade: 2456173.9, pagamentos: 1353 },
|
|
142
|
+
{ rotulo: 'Fev', quantidade: 3889895.3, pagamentos: 1269 },
|
|
143
|
+
]"
|
|
144
|
+
:detalheTooltip="(item) => `${item.pagamentos} pagamentos`"
|
|
145
|
+
/>
|
|
146
|
+
```
|
|
138
147
|
|
|
139
148
|
### CardBarra
|
|
140
149
|
|
|
@@ -160,6 +169,7 @@ Props específicas:
|
|
|
160
169
|
| `series` | Array | — |
|
|
161
170
|
| `cores` | Array<String> | paleta padrão |
|
|
162
171
|
| `mostrarLegendaSeries` | Boolean | `true` |
|
|
172
|
+
| `detalheTooltip` | Function | — | `(item, index) => string \| string[]`. Texto(s) extra(s) no tooltip, abaixo dos valores. Recebe o item da 1ª série. |
|
|
163
173
|
|
|
164
174
|
### CardPizza
|
|
165
175
|
|
|
@@ -179,12 +189,15 @@ Props específicas:
|
|
|
179
189
|
|
|
180
190
|
| Prop | Tipo | Padrão |
|
|
181
191
|
|---|---|---|
|
|
182
|
-
| `
|
|
192
|
+
| `corDetalhes` | String | `#3B82F6` (gera a paleta das fatias; itens podem sobrescrever com `cor`) |
|
|
183
193
|
| `cutout` | String/Number | `'70%'` |
|
|
184
194
|
| `direcao` | `left` \| `right` \| `top` \| `bottom` | `right` |
|
|
185
195
|
| `rotuloCategoria` | String | `'Categoria'` |
|
|
186
196
|
| `rotuloQuantidade` | String | `'Quantidade'` |
|
|
187
197
|
| `mostrarCabecalho` | Boolean | `true` |
|
|
198
|
+
| `itensClicaveis` | Boolean | `false` |
|
|
199
|
+
| `detalheTooltip` | Function | — `(item, index) => string \| string[]`. Texto(s) extra(s) no tooltip do gráfico, abaixo do valor. |
|
|
200
|
+
| `tooltipLinha` | Function | — `(item, index) => string`. Tooltip nativo (`title`) na linha da tabela lateral. Quando omitido, usa `item.descricao`. |
|
|
188
201
|
|
|
189
202
|
### CardPolar
|
|
190
203
|
|
|
@@ -192,8 +205,11 @@ Polar area com grid configurável.
|
|
|
192
205
|
|
|
193
206
|
| Prop | Tipo | Padrão |
|
|
194
207
|
|---|---|---|
|
|
195
|
-
| `
|
|
208
|
+
| `corDetalhes` | String | `#3B82F6` (gera a paleta dos setores; itens podem sobrescrever com `cor`) |
|
|
196
209
|
| `mostrarLinhasGrade` | Boolean | `true` |
|
|
210
|
+
| `itensClicaveis` | Boolean | `false` |
|
|
211
|
+
| `detalheTooltip` | Function | — `(item, index) => string \| string[]`. Texto(s) extra(s) no tooltip do gráfico, abaixo do valor. |
|
|
212
|
+
| `tooltipLinha` | Function | — `(item, index) => string`. Tooltip nativo (`title`) na linha da tabela lateral. Quando omitido, usa `item.descricao`. |
|
|
197
213
|
|
|
198
214
|
### CardProgresso
|
|
199
215
|
|
|
@@ -237,9 +253,8 @@ Barras de progresso lineares ou circulares. Suporta metas de **crescimento** e d
|
|
|
237
253
|
| `alturaBarra` | Number/String | `8` | Altura das barras em px. |
|
|
238
254
|
| `raioBarra` | String/Number | `'999px'` | Border-radius das barras. |
|
|
239
255
|
| `cutout` | String/Number | `'78%'` | Espessura do anel no modo circular. |
|
|
240
|
-
| `corDetalhes` | String | `'#3B82F6'` | Cor do gráfico circular em modo crescimento. |
|
|
256
|
+
| `corDetalhes` | String | `'#3B82F6'` | Cor do gráfico circular em modo crescimento e base da paleta automática dos itens. |
|
|
241
257
|
| `corExcesso` | String | `'#EF4444'` | Cor de alerta usada em itens com modo `reducao`. |
|
|
242
|
-
| `cores` | Array<String> | paleta padrão | Cores automáticas dos itens. |
|
|
243
258
|
|
|
244
259
|
### CardBase
|
|
245
260
|
|
|
@@ -318,8 +333,10 @@ Disponíveis para customizar gráficos sob medida:
|
|
|
318
333
|
|
|
319
334
|
- `useTema(props)` — calcula `palette` (bg, text, muted, …) e `cardStyle`.
|
|
320
335
|
- `useFormatadorValor(props)` — retorna `formatar(valor)` com base em `tipoValor`/`locale`/`moeda`.
|
|
321
|
-
- `useTooltipExterno` — utilitários para tooltip HTML customizado (`criarTooltipEl`, `prepararTooltipParent`, `clampHorizontal`).
|
|
322
|
-
- `
|
|
336
|
+
- `useTooltipExterno` — utilitários para tooltip HTML customizado (`criarTooltipEl`, `prepararTooltipParent`, `clampHorizontal`, `ttTitulo`, `ttLinhaValor`, `aplicarCaretFlip`, `criarTooltipExternoPadrao`).
|
|
337
|
+
- `useLinhasReferencia({ linhasReferencia, horizontal, formatar })` — plugin Chart.js de linhas de referência (metas/limites) com rótulo e tooltip próprios.
|
|
338
|
+
- `useExportarImagem` — `exportarElementoComoImagem(el, opções)`, `useExportarCard(props, palette, emit)` e o ícone SVG padrão.
|
|
339
|
+
- `propsCartao` / `propsValor` / `propsDirecao` / `propsTabela` — fábricas das definições de props compartilhadas, úteis para criar novos cards seguindo o mesmo contrato.
|
|
323
340
|
|
|
324
341
|
---
|
|
325
342
|
|