@softros/agulhao-charts-react 1.0.5 → 1.0.6

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
@@ -37,7 +37,7 @@ export function MinhaTela() {
37
37
  }
38
38
  ```
39
39
 
40
- O componente aceita qualquer `DefinicaoGrafico` suportada pelo pacote `core`, incluindo `barra`, `linha`, `area`, `pizza`, `gauge` e `mapa`.
40
+ O componente aceita qualquer `DefinicaoGrafico` suportada pelo pacote `core`, incluindo `barra`, `linha`, `area`, `pizza`, `gauge`, `mapa` e `ranking`.
41
41
 
42
42
  Exemplo com cor por série:
43
43
 
@@ -98,6 +98,32 @@ const graficoGauge: DefinicaoGrafico = {
98
98
  }
99
99
  ```
100
100
 
101
+ Exemplo de ranking sem ECharts:
102
+
103
+ ```tsx
104
+ const graficoRanking: DefinicaoGrafico = {
105
+ tipo: 'ranking',
106
+ titulo: 'Ranking de vendedores',
107
+ dataset: {
108
+ linhas: [
109
+ { nome: 'Bruno', total: 240 },
110
+ { nome: 'Carla', total: 180 },
111
+ { nome: 'Ana', total: 120 },
112
+ ],
113
+ },
114
+ mapeamento: {
115
+ rotulo: 'nome',
116
+ valor: 'total',
117
+ },
118
+ opcoes: {
119
+ ranking: {
120
+ limite: 10,
121
+ mostrarPodio: true,
122
+ },
123
+ },
124
+ }
125
+ ```
126
+
101
127
  ## Mapa padrão do Brasil
102
128
 
103
129
  Para gráficos `tipo: 'mapa'` com `opcoes.mapa.nome: 'BR'`, o componente registra automaticamente o GeoJSON padrão dos estados brasileiros fornecido pelo `core`.
@@ -14,5 +14,5 @@ export type AgulhaoChartProps = {
14
14
  /**
15
15
  * Componente do Agulhao Charts.
16
16
  */
17
- export declare function AgulhaoChart({ grafico, largura, altura, className, style, notMerge, lazyUpdate, onEvents, echarts: echartsCustomizado }: AgulhaoChartProps): import("react").JSX.Element;
17
+ export declare function AgulhaoChart({ grafico, largura, altura, className, style, notMerge, lazyUpdate, onEvents, echarts: echartsCustomizado, }: AgulhaoChartProps): import("react").JSX.Element;
18
18
  //# sourceMappingURL=AgulhaoChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgulhaoChart.d.ts","sourceRoot":"","sources":["../src/AgulhaoChart.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAcD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAY,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,iBAAiB,+BAyBzK"}
1
+ {"version":3,"file":"AgulhaoChart.d.ts","sourceRoot":"","sources":["../src/AgulhaoChart.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAcD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EACzB,OAAO,EACP,OAAgB,EAChB,MAAY,EACZ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EAAE,kBAAkB,GAC9B,EAAE,iBAAiB,+BAiCnB"}
@@ -1,23 +1,34 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as ReactEChartsModule from 'echarts-for-react';
3
3
  import { useMemo } from 'react';
4
- import { criarOpcaoECharts } from '@softros/agulhao-charts-core';
5
- import { echarts, registrarMapasPadrao } from './registrarMapasPadrao.js';
4
+ import { CSS_RANKING_GRAFICO, criarHtmlRankingGrafico, criarOpcaoECharts } from '@softros/agulhao-charts-core';
5
+ import { registrarMapasPadrao } from './registrarMapasPadrao.js';
6
6
  const ReactECharts = (ReactEChartsModule.default ?? ReactEChartsModule);
7
7
  /**
8
8
  * Componente do Agulhao Charts.
9
9
  */
10
- export function AgulhaoChart({ grafico, largura = '100%', altura = 400, className, style, notMerge, lazyUpdate, onEvents, echarts: echartsCustomizado }) {
10
+ export function AgulhaoChart({ grafico, largura = '100%', altura = 400, className, style, notMerge, lazyUpdate, onEvents, echarts: echartsCustomizado, }) {
11
11
  const option = useMemo(() => {
12
- registrarMapasPadrao(grafico);
12
+ if (grafico.tipo === 'ranking') {
13
+ return undefined;
14
+ }
15
+ registrarMapasPadrao(grafico, echartsCustomizado);
13
16
  return criarOpcaoECharts(grafico);
14
- }, [grafico]);
17
+ }, [echartsCustomizado, grafico]);
15
18
  const chartStyle = useMemo(() => ({
16
19
  width: formatarMedidaCss(largura),
17
20
  height: formatarMedidaCss(altura),
18
21
  ...style,
19
22
  }), [altura, largura, style]);
20
- return (_jsx(ReactECharts, { echarts: echartsCustomizado ?? echarts, option: option, className: className, style: chartStyle, notMerge: notMerge, lazyUpdate: lazyUpdate, onEvents: onEvents }));
23
+ if (grafico.tipo === 'ranking') {
24
+ return _jsx(RankingChart, { grafico: grafico, className: className, style: chartStyle });
25
+ }
26
+ return (_jsx(ReactECharts, { echarts: echartsCustomizado, option: option, className: className, style: chartStyle, notMerge: notMerge, lazyUpdate: lazyUpdate, onEvents: onEvents }));
27
+ }
28
+ function RankingChart({ grafico, className, style }) {
29
+ const html = useMemo(() => criarHtmlRankingGrafico(grafico), [grafico]);
30
+ const classeRanking = className ? `agulhao-ranking ${className}` : 'agulhao-ranking';
31
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: CSS_RANKING_GRAFICO }), _jsx("section", { className: classeRanking, style: style, dangerouslySetInnerHTML: { __html: html } })] }));
21
32
  }
22
33
  /**
23
34
  * Converte medidas numericas para pixels e preserva medidas CSS textuais.
@@ -1 +1 @@
1
- {"version":3,"file":"AgulhaoChart.js","sourceRoot":"","sources":["../src/AgulhaoChart.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,kBAAkB,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAGhE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAwBzE,MAAM,YAAY,GAAG,CAAC,kBAAkB,CAAC,OAAO,IAAI,kBAAkB,CAAgD,CAAA;AAEtH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAqB;IACtK,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAC7B,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACb,MAAM,UAAU,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACjC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACjC,GAAG,KAAK;KACX,CAAC,EACF,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAC3B,CAAA;IAED,OAAO,CACH,KAAC,YAAY,IACT,OAAO,EAAE,kBAAkB,IAAI,OAAO,EACtC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,GACpB,CACL,CAAA;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAsB;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,KAAK,IAAI,CAAA;IACvB,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"AgulhaoChart.js","sourceRoot":"","sources":["../src/AgulhaoChart.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,kBAAkB,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAG9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAwBhE,MAAM,YAAY,GAAG,CAAC,kBAAkB,CAAC,OAAO,IAAI,kBAAkB,CAAgD,CAAA;AAEtH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EACzB,OAAO,EACP,OAAO,GAAG,MAAM,EAChB,MAAM,GAAG,GAAG,EACZ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EAAE,kBAAkB,GACX;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAA;QACpB,CAAC;QAED,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;QACjD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC,EAAE,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAA;IACjC,MAAM,UAAU,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACjC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACjC,GAAG,KAAK;KACX,CAAC,EACF,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAC3B,CAAA;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAI,CAAA;IACtF,CAAC;IAED,OAAO,CACH,KAAC,YAAY,IACT,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,GACpB,CACL,CAAA;AACL,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAA4E;IACzH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACvE,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAEpF,OAAO,CACH,8BACI,0BAAQ,mBAAmB,GAAS,EACpC,kBAAS,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,IAC/F,CACN,CAAA;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAsB;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,KAAK,IAAI,CAAA;IACvB,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC"}
@@ -1,5 +1,3 @@
1
- import echarts = require('echarts');
2
1
  import type { DefinicaoGrafico } from '@softros/agulhao-charts-core';
3
- export declare function registrarMapasPadrao(grafico: DefinicaoGrafico): void;
4
- export { echarts };
2
+ export declare function registrarMapasPadrao(grafico: DefinicaoGrafico, echartsCustomizado?: unknown): void;
5
3
  //# sourceMappingURL=registrarMapasPadrao.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registrarMapasPadrao.d.ts","sourceRoot":"","sources":["../src/registrarMapasPadrao.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,GAAG,QAAQ,SAAS,CAAC,CAAA;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAIpE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAMpE;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"registrarMapasPadrao.d.ts","sourceRoot":"","sources":["../src/registrarMapasPadrao.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAOpE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,OAAO,GAAG,IAAI,CAclG"}
@@ -2,11 +2,16 @@ import { createRequire as _createRequire } from "module";
2
2
  const __require = _createRequire(import.meta.url);
3
3
  const echarts = __require("echarts");
4
4
  import { obterGeoJsonMapaBrasil, obterNomeMapa } from '@softros/agulhao-charts-core';
5
- export function registrarMapasPadrao(grafico) {
5
+ export function registrarMapasPadrao(grafico, echartsCustomizado) {
6
6
  if (obterNomeMapa(grafico) !== 'BR') {
7
7
  return;
8
8
  }
9
- echarts.registerMap('BR', obterGeoJsonMapaBrasil());
9
+ const geoJson = obterGeoJsonMapaBrasil();
10
+ const registradorCustomizado = echartsCustomizado?.registerMap;
11
+ if (registradorCustomizado) {
12
+ registradorCustomizado('BR', geoJson);
13
+ return;
14
+ }
15
+ echarts.registerMap('BR', geoJson);
10
16
  }
11
- export { echarts };
12
17
  //# sourceMappingURL=registrarMapasPadrao.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registrarMapasPadrao.js","sourceRoot":"","sources":["../src/registrarMapasPadrao.ts"],"names":[],"mappings":";;AAAA,qCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAKpF,MAAM,UAAU,oBAAoB,CAAC,OAAyB;IAC1D,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,OAAM;IACV,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,sBAAsB,EAAwB,CAAC,CAAA;AAC7E,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"registrarMapasPadrao.js","sourceRoot":"","sources":["../src/registrarMapasPadrao.ts"],"names":[],"mappings":";;AAAA,qCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAQpF,MAAM,UAAU,oBAAoB,CAAC,OAAyB,EAAE,kBAA4B;IACxF,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,OAAM;IACV,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,EAAwB,CAAA;IAC9D,MAAM,sBAAsB,GAAI,kBAA2D,EAAE,WAAW,CAAA;IAExG,IAAI,sBAAsB,EAAE,CAAC;QACzB,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACrC,OAAM;IACV,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softros/agulhao-charts-react",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Componente React para renderizar graficos a partir da definicao comum do Agulhao Charts.",
5
5
  "homepage": "https://github.com/SOFTROS-SISTEMAS/agulhao-charts",
6
6
  "license": "Apache-2.0",
@@ -32,7 +32,7 @@
32
32
  "directory": "packages/react"
33
33
  },
34
34
  "dependencies": {
35
- "@softros/agulhao-charts-core": "^1.0.5",
35
+ "@softros/agulhao-charts-core": "^1.0.6",
36
36
  "echarts-for-react": "^3.0.2"
37
37
  },
38
38
  "peerDependencies": {