@softros/agulhao-charts-react 1.0.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 ADDED
@@ -0,0 +1,70 @@
1
+ # @softros/agulhao-charts-react
2
+
3
+ Componente React do Agulhão Charts.
4
+
5
+ Ele recebe uma `DefinicaoGrafico`, usa o `core` para gerar a option do ECharts e renderiza com `echarts-for-react`.
6
+
7
+ ## Instalação
8
+
9
+ ```bash
10
+ npm install @softros/agulhao-charts-react
11
+ ```
12
+
13
+ ## Uso
14
+
15
+ ```tsx
16
+ import { AgulhaoChart } from '@softros/agulhao-charts-react'
17
+ import type { DefinicaoGrafico } from '@softros/agulhao-charts-core'
18
+
19
+ const grafico: DefinicaoGrafico = {
20
+ tipo: 'linha',
21
+ titulo: 'Vendas por dia',
22
+ dataset: {
23
+ linhas: [
24
+ { dia: 'Seg', valor: 150 },
25
+ { dia: 'Ter', valor: 230 },
26
+ { dia: 'Qua', valor: 224 },
27
+ ],
28
+ },
29
+ mapeamento: {
30
+ eixoX: 'dia',
31
+ eixoY: 'valor',
32
+ },
33
+ }
34
+
35
+ export function MinhaTela() {
36
+ return <AgulhaoChart grafico={grafico} largura="100%" altura={400} />
37
+ }
38
+ ```
39
+
40
+ ## Props
41
+
42
+ ```ts
43
+ type AgulhaoChartProps = {
44
+ grafico: DefinicaoGrafico
45
+ largura?: number | string
46
+ altura?: number | string
47
+ className?: string
48
+ style?: CSSProperties
49
+ notMerge?: boolean
50
+ lazyUpdate?: boolean
51
+ onEvents?: Record<string, (params: unknown) => void>
52
+ }
53
+ ```
54
+
55
+ ## Eventos
56
+
57
+ `onEvents` é repassado para o `echarts-for-react`.
58
+
59
+ Exemplo:
60
+
61
+ ```tsx
62
+ <AgulhaoChart
63
+ grafico={grafico}
64
+ onEvents={{
65
+ click: (params) => {
66
+ console.log(params)
67
+ },
68
+ }}
69
+ />
70
+ ```
@@ -0,0 +1,17 @@
1
+ import type { CSSProperties } from 'react';
2
+ import type { DefinicaoGrafico } from '@softros/agulhao-charts-core';
3
+ export type AgulhaoChartProps = {
4
+ grafico: DefinicaoGrafico;
5
+ largura?: number | string;
6
+ altura?: number | string;
7
+ className?: string;
8
+ style?: CSSProperties;
9
+ notMerge?: boolean;
10
+ lazyUpdate?: boolean;
11
+ onEvents?: Record<string, (params: unknown) => void>;
12
+ };
13
+ /**
14
+ * Componente do Agulhao Charts.
15
+ */
16
+ export declare function AgulhaoChart({ grafico, largura, altura, className, style, notMerge, lazyUpdate, onEvents }: AgulhaoChartProps): import("react").JSX.Element;
17
+ //# sourceMappingURL=AgulhaoChart.d.ts.map
@@ -0,0 +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;AAEpE,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;CACvD,CAAA;AAaD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAY,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAY5I"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as ReactEChartsModule from 'echarts-for-react';
3
+ import { useMemo } from 'react';
4
+ import { criarOpcaoECharts } from '@softros/agulhao-charts-core';
5
+ const ReactECharts = (ReactEChartsModule.default ?? ReactEChartsModule);
6
+ /**
7
+ * Componente do Agulhao Charts.
8
+ */
9
+ export function AgulhaoChart({ grafico, largura = '100%', altura = 400, className, style, notMerge, lazyUpdate, onEvents }) {
10
+ const option = useMemo(() => criarOpcaoECharts(grafico), [grafico]);
11
+ const chartStyle = useMemo(() => ({
12
+ width: formatarMedidaCss(largura),
13
+ height: formatarMedidaCss(altura),
14
+ ...style,
15
+ }), [altura, largura, style]);
16
+ return _jsx(ReactECharts, { option: option, className: className, style: chartStyle, notMerge: notMerge, lazyUpdate: lazyUpdate, onEvents: onEvents });
17
+ }
18
+ /**
19
+ * Converte medidas numericas para pixels e preserva medidas CSS textuais.
20
+ */
21
+ function formatarMedidaCss(valor) {
22
+ if (typeof valor === 'number') {
23
+ return `${valor}px`;
24
+ }
25
+ return valor;
26
+ }
27
+ //# sourceMappingURL=AgulhaoChart.js.map
@@ -0,0 +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;AAwBhE,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,EAAqB;IACzI,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACnE,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,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAA;AACpJ,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"}
@@ -0,0 +1,3 @@
1
+ export { AgulhaoChart } from './AgulhaoChart.js';
2
+ export type { AgulhaoChartProps } from './AgulhaoChart.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { AgulhaoChart } from './AgulhaoChart.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@softros/agulhao-charts-react",
3
+ "version": "1.0.0",
4
+ "description": "Componente React para renderizar graficos a partir da definicao comum do Agulhao Charts.",
5
+ "homepage": "https://github.com/SOFTROS-SISTEMAS/agulhao-charts",
6
+ "license": "Apache-2.0",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "type": "module",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ }
15
+ },
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "files": [
20
+ "dist"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc",
24
+ "test": "vitest run",
25
+ "prepublishOnly": "npm run build"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/SOFTROS-SISTEMAS/agulhao-charts.git",
30
+ "directory": "packages/react"
31
+ },
32
+ "dependencies": {
33
+ "@softros/agulhao-charts-core": "^1.0.0",
34
+ "echarts-for-react": "^3.0.2"
35
+ },
36
+ "peerDependencies": {
37
+ "echarts": ">=5",
38
+ "react": ">=18"
39
+ },
40
+ "devDependencies": {
41
+ "@types/react": "^19.1.8",
42
+ "echarts": "^5.6.0",
43
+ "react": "^19.1.0",
44
+ "typescript": "^5.8.3",
45
+ "vitest": "^3.2.4"
46
+ }
47
+ }