nemesischart 2.0.8 → 2.0.10

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,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/), [PrimeVue](https://primevue.org/) e [PrimeFlex](https://primeflex.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 primevue primeflex primeicons
33
+ npm install nemesischart chart.js
34
34
  ```
35
35
 
36
- `vue`, `chart.js`, `primevue` e `primeflex` são peer-deps do bundle de lib.
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&lt;String&gt; | 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,14 @@ Props específicas:
179
189
 
180
190
  | Prop | Tipo | Padrão |
181
191
  |---|---|---|
182
- | `cores` | Array&lt;String&gt; | paleta padrão |
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 | — &nbsp;`(item, index) => string \| string[]`. Texto(s) extra(s) no tooltip, abaixo do valor. |
188
200
 
189
201
  ### CardPolar
190
202
 
@@ -192,8 +204,10 @@ Polar area com grid configurável.
192
204
 
193
205
  | Prop | Tipo | Padrão |
194
206
  |---|---|---|
195
- | `cores` | Array&lt;String&gt; | paleta padrão |
207
+ | `corDetalhes` | String | `#3B82F6` (gera a paleta dos setores; itens podem sobrescrever com `cor`) |
196
208
  | `mostrarLinhasGrade` | Boolean | `true` |
209
+ | `itensClicaveis` | Boolean | `false` |
210
+ | `detalheTooltip` | Function | — &nbsp;`(item, index) => string \| string[]`. Texto(s) extra(s) no tooltip, abaixo do valor. |
197
211
 
198
212
  ### CardProgresso
199
213
 
@@ -237,9 +251,8 @@ Barras de progresso lineares ou circulares. Suporta metas de **crescimento** e d
237
251
  | `alturaBarra` | Number/String | `8` | Altura das barras em px. |
238
252
  | `raioBarra` | String/Number | `'999px'` | Border-radius das barras. |
239
253
  | `cutout` | String/Number | `'78%'` | Espessura do anel no modo circular. |
240
- | `corDetalhes` | String | `'#3B82F6'` | Cor do gráfico circular em modo crescimento. |
254
+ | `corDetalhes` | String | `'#3B82F6'` | Cor do gráfico circular em modo crescimento e base da paleta automática dos itens. |
241
255
  | `corExcesso` | String | `'#EF4444'` | Cor de alerta usada em itens com modo `reducao`. |
242
- | `cores` | Array&lt;String&gt; | paleta padrão | Cores automáticas dos itens. |
243
256
 
244
257
  ### CardBase
245
258
 
@@ -318,8 +331,10 @@ Disponíveis para customizar gráficos sob medida:
318
331
 
319
332
  - `useTema(props)` — calcula `palette` (bg, text, muted, …) e `cardStyle`.
320
333
  - `useFormatadorValor(props)` — retorna `formatar(valor)` com base em `tipoValor`/`locale`/`moeda`.
321
- - `useTooltipExterno` — utilitários para tooltip HTML customizado (`criarTooltipEl`, `prepararTooltipParent`, `clampHorizontal`).
322
- - `useExportarImagem` `exportarElementoComoImagem(el, opções)` e o ícone SVG padrão.
334
+ - `useTooltipExterno` — utilitários para tooltip HTML customizado (`criarTooltipEl`, `prepararTooltipParent`, `clampHorizontal`, `ttTitulo`, `ttLinhaValor`, `aplicarCaretFlip`, `criarTooltipExternoPadrao`).
335
+ - `useLinhasReferencia({ linhasReferencia, horizontal, formatar })` plugin Chart.js de linhas de referência (metas/limites) com rótulo e tooltip próprios.
336
+ - `useExportarImagem` — `exportarElementoComoImagem(el, opções)`, `useExportarCard(props, palette, emit)` e o ícone SVG padrão.
337
+ - `propsCartao` / `propsValor` / `propsDirecao` / `propsTabela` — fábricas das definições de props compartilhadas, úteis para criar novos cards seguindo o mesmo contrato.
323
338
 
324
339
  ---
325
340