@embeddable.com/remarkable-pro 0.3.0 → 0.3.1
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/dist/ComparisonPeriodSelectFieldPro.js +1 -1
- package/dist/DonutChartPro.js +1 -1
- package/dist/DonutLabelChartPro.js +1 -1
- package/dist/FilterBuilderPro.js +6 -599
- package/dist/FilterBuilderPro.js.map +1 -1
- package/dist/KpiChartNumberComparisonPro.js +1 -1
- package/dist/KpiChartNumberPro.js +1 -1
- package/dist/LineChartComparisonDefaultPro.js +1 -1
- package/dist/LineChartComparisonWithKpiTabsPro.js +1 -1
- package/dist/LineChartWithKpiTabsPro.js +1 -1
- package/dist/PieChartPro.js +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.d.ts +3 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts +6 -2
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.d.ts +2 -0
- package/dist/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/definition.d.ts +4 -0
- package/dist/components/charts/kpis/KpiChartNumberPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.emb.d.ts +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts +2 -2
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/LineChartComparisonWithKpiTabsPro.emb.d.ts +3 -1
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/LineChartComparisonWithKpiTabsPro.emb.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/definition.d.ts +10 -6
- package/dist/components/charts/lines/LineChartComparisonWithKpiTabsPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartWithKpiTabsPro/LineChartWithKpiTabsPro.emb.d.ts +2 -0
- package/dist/components/charts/lines/LineChartWithKpiTabsPro/LineChartWithKpiTabsPro.emb.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartWithKpiTabsPro/definition.d.ts +4 -0
- package/dist/components/charts/lines/LineChartWithKpiTabsPro/definition.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutChartPro/DonutChartPro.emb.d.ts +2 -0
- package/dist/components/charts/pies/DonutChartPro/DonutChartPro.emb.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutChartPro/definition.d.ts +4 -0
- package/dist/components/charts/pies/DonutChartPro/definition.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutLabelChartPro/DonutLabelChartPro.emb.d.ts +2 -0
- package/dist/components/charts/pies/DonutLabelChartPro/DonutLabelChartPro.emb.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutLabelChartPro/definition.d.ts +4 -0
- package/dist/components/charts/pies/DonutLabelChartPro/definition.d.ts.map +1 -1
- package/dist/components/charts/pies/PieChartPro/PieChartPro.emb.d.ts +2 -0
- package/dist/components/charts/pies/PieChartPro/PieChartPro.emb.d.ts.map +1 -1
- package/dist/components/charts/pies/PieChartPro/definition.d.ts +4 -0
- package/dist/components/charts/pies/PieChartPro/definition.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.emb.d.ts +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/definition.d.ts +3 -3
- package/dist/{definition-BPveF-o0.js → definition-9Sm_nFEr.js} +27 -25
- package/dist/definition-9Sm_nFEr.js.map +1 -0
- package/dist/{definition-BR7yIGzM.js → definition-BdoMwDGX.js} +32 -30
- package/dist/definition-BdoMwDGX.js.map +1 -0
- package/dist/{definition-BVvy48Df.js → definition-BiIMsrRD.js} +31 -29
- package/dist/definition-BiIMsrRD.js.map +1 -0
- package/dist/{definition-DvjcMLKk.js → definition-CaY0LXUV.js} +45 -45
- package/dist/definition-CaY0LXUV.js.map +1 -0
- package/dist/{definition-C-9Q3Ivg.js → definition-CavPpbuT.js} +3 -1
- package/dist/definition-CavPpbuT.js.map +1 -0
- package/dist/{definition-BZ7Wtvg5.js → definition-CyVZRIeo.js} +14 -14
- package/dist/{definition-BZ7Wtvg5.js.map → definition-CyVZRIeo.js.map} +1 -1
- package/dist/{definition-CJuA3KVA.js → definition-FRpWLnQJ.js} +20 -18
- package/dist/definition-FRpWLnQJ.js.map +1 -0
- package/dist/{definition-Vo_CL9pX.js → definition-RwKqVDfv.js} +31 -29
- package/dist/definition-RwKqVDfv.js.map +1 -0
- package/dist/definition-es5n86g4.js +604 -0
- package/dist/definition-es5n86g4.js.map +1 -0
- package/dist/{definition-DQdIv_3r.js → definition-xgUWvTDV.js} +25 -23
- package/dist/definition-xgUWvTDV.js.map +1 -0
- package/dist/embeddable-components.json +54 -54
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -47
- package/dist/index.js.map +1 -1
- package/dist/meta/ComparisonPeriodSelectFieldPro.meta.json +1 -1
- package/dist/meta/DonutChartPro.meta.json +2 -0
- package/dist/meta/DonutLabelChartPro.meta.json +2 -0
- package/dist/meta/KpiChartNumberComparisonPro.meta.json +3 -1
- package/dist/meta/KpiChartNumberPro.meta.json +2 -0
- package/dist/meta/LineChartComparisonDefaultPro.meta.json +1 -1
- package/dist/meta/LineChartComparisonWithKpiTabsPro.meta.json +4 -2
- package/dist/meta/LineChartWithKpiTabsPro.meta.json +3 -1
- package/dist/meta/PieChartPro.meta.json +2 -0
- package/dist/meta/index.json +1 -1
- package/package.json +1 -1
- package/dist/definition-BPveF-o0.js.map +0 -1
- package/dist/definition-BR7yIGzM.js.map +0 -1
- package/dist/definition-BVvy48Df.js.map +0 -1
- package/dist/definition-C-9Q3Ivg.js.map +0 -1
- package/dist/definition-CJuA3KVA.js.map +0 -1
- package/dist/definition-DQdIv_3r.js.map +0 -1
- package/dist/definition-DvjcMLKk.js.map +0 -1
- package/dist/definition-Vo_CL9pX.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/pies/DonutLabelChartPro/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAmB,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAwC,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMrF,QAAA,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/pies/DonutLabelChartPro/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAmB,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAwC,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMrF,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CgC,CAAC;AAqD3C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BApCxB,OAAO;;;;;iCA8BS,MAAM,CAAC,OAAO,IAAI,CAAC;;;;;;;;;;;;;;;;;;oCANhB,gBAAgB;;;;;;;;;;;;;;;wCAjBL,MAAM,CAAC,OAAO,IAAI,CAAC,KAAG,eAAe;oCAKzC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAG,YAAY;;;wCAGpB,MAAM,CAAC,OAAO,IAAI,CAAC,KAAG,eAAe;oCAKzC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAG,YAAY;;CAiCnE,CAAC"}
|
|
@@ -9,6 +9,8 @@ export declare const meta: {
|
|
|
9
9
|
readonly label: "Pie Chart";
|
|
10
10
|
readonly description: "Pie chart for parts-of-whole over one dimension with one measure. Prefer DonutChartPro for a modern look.";
|
|
11
11
|
readonly category: "Pie Charts";
|
|
12
|
+
readonly defaultHeight: 442;
|
|
13
|
+
readonly defaultWidth: 630;
|
|
12
14
|
readonly inputs: [{
|
|
13
15
|
readonly name: "dataset";
|
|
14
16
|
readonly type: "dataset";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PieChartPro.emb.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/pies/PieChartPro/PieChartPro.emb.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO;;;;;CAAsB,CAAC;AAE3C,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"PieChartPro.emb.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/pies/PieChartPro/PieChartPro.emb.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO;;;;;CAAsB,CAAC;AAE3C,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAmB,CAAC;;;;;AAErC,wBAAgF"}
|
|
@@ -6,6 +6,8 @@ declare const meta: {
|
|
|
6
6
|
readonly label: "Pie Chart";
|
|
7
7
|
readonly description: "Pie chart for parts-of-whole over one dimension with one measure. Prefer DonutChartPro for a modern look.";
|
|
8
8
|
readonly category: "Pie Charts";
|
|
9
|
+
readonly defaultHeight: 442;
|
|
10
|
+
readonly defaultWidth: 630;
|
|
9
11
|
readonly inputs: [{
|
|
10
12
|
readonly name: "dataset";
|
|
11
13
|
readonly type: "dataset";
|
|
@@ -98,6 +100,8 @@ export declare const pieChartPro: {
|
|
|
98
100
|
readonly label: "Pie Chart";
|
|
99
101
|
readonly description: "Pie chart for parts-of-whole over one dimension with one measure. Prefer DonutChartPro for a modern look.";
|
|
100
102
|
readonly category: "Pie Charts";
|
|
103
|
+
readonly defaultHeight: 442;
|
|
104
|
+
readonly defaultWidth: 630;
|
|
101
105
|
readonly inputs: [{
|
|
102
106
|
readonly name: "dataset";
|
|
103
107
|
readonly type: "dataset";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/pies/PieChartPro/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAwC,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMrF,QAAA,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/pies/PieChartPro/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAwC,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMrF,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCgC,CAAC;AAgC3C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCALD,MAAM,CAAC,OAAO,IAAI,CAAC;;;;;;;;;;;;;;;oCANhB,gBAAgB;;;;;;;;;;;;;;;wCATL,MAAM,CAAC,OAAO,IAAI,CAAC,KAAG,eAAe;oCAKzC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAG,YAAY;;CA4BzD,CAAC"}
|
|
@@ -7,7 +7,7 @@ export declare const preview: {
|
|
|
7
7
|
export declare const meta: {
|
|
8
8
|
readonly name: "ComparisonPeriodSelectFieldPro";
|
|
9
9
|
readonly label: "Comparison Period Select Field";
|
|
10
|
-
readonly description: "Dropdown for picking a comparison period (
|
|
10
|
+
readonly description: "Dropdown for picking a comparison period (e.g. the previous period or previous year). Pairs with a comparisonPeriod variable; emits onChange.";
|
|
11
11
|
readonly category: "Dropdowns - dates";
|
|
12
12
|
readonly defaultWidth: 300;
|
|
13
13
|
readonly defaultHeight: 120;
|
|
@@ -2,7 +2,7 @@ import { Inputs } from '@embeddable.com/react';
|
|
|
2
2
|
declare const meta: {
|
|
3
3
|
readonly name: "ComparisonPeriodSelectFieldPro";
|
|
4
4
|
readonly label: "Comparison Period Select Field";
|
|
5
|
-
readonly description: "Dropdown for picking a comparison period (
|
|
5
|
+
readonly description: "Dropdown for picking a comparison period (e.g. the previous period or previous year). Pairs with a comparisonPeriod variable; emits onChange.";
|
|
6
6
|
readonly category: "Dropdowns - dates";
|
|
7
7
|
readonly defaultWidth: 300;
|
|
8
8
|
readonly defaultHeight: 120;
|
|
@@ -68,7 +68,7 @@ export declare const comparisonPeriodSelectFieldPro: {
|
|
|
68
68
|
readonly meta: {
|
|
69
69
|
readonly name: "ComparisonPeriodSelectFieldPro";
|
|
70
70
|
readonly label: "Comparison Period Select Field";
|
|
71
|
-
readonly description: "Dropdown for picking a comparison period (
|
|
71
|
+
readonly description: "Dropdown for picking a comparison period (e.g. the previous period or previous year). Pairs with a comparisonPeriod variable; emits onChange.";
|
|
72
72
|
readonly category: "Dropdowns - dates";
|
|
73
73
|
readonly defaultWidth: 300;
|
|
74
74
|
readonly defaultHeight: 120;
|
|
@@ -139,7 +139,7 @@ export declare const comparisonPeriodSelectFieldPro: {
|
|
|
139
139
|
readonly props: (inputs: Inputs<typeof meta>) => Inputs<{
|
|
140
140
|
readonly name: "ComparisonPeriodSelectFieldPro";
|
|
141
141
|
readonly label: "Comparison Period Select Field";
|
|
142
|
-
readonly description: "Dropdown for picking a comparison period (
|
|
142
|
+
readonly description: "Dropdown for picking a comparison period (e.g. the previous period or previous year). Pairs with a comparisonPeriod variable; emits onChange.";
|
|
143
143
|
readonly category: "Dropdowns - dates";
|
|
144
144
|
readonly defaultWidth: 300;
|
|
145
145
|
readonly defaultHeight: 120;
|
|
@@ -3,12 +3,12 @@ import { useTheme as y, definePreview as M } from "@embeddable.com/react";
|
|
|
3
3
|
import { g as S, a as j, c as A } from "./pies.utils-C50IfEz6.js";
|
|
4
4
|
import { i as I, r as _ } from "./component.utils-oQMZT7TK.js";
|
|
5
5
|
import { C as O } from "./ChartCard-CZ0PnrNg.js";
|
|
6
|
-
import { i as
|
|
6
|
+
import { i as t, s as F } from "./component.inputs.constants-BFlnzCwS.js";
|
|
7
7
|
import { p as i } from "./preview.data.constants-HvHDcvh2.js";
|
|
8
8
|
const r = (e) => {
|
|
9
9
|
var l;
|
|
10
|
-
const
|
|
11
|
-
I(
|
|
10
|
+
const o = y();
|
|
11
|
+
I(o);
|
|
12
12
|
const {
|
|
13
13
|
description: h,
|
|
14
14
|
title: g,
|
|
@@ -25,10 +25,10 @@ const r = (e) => {
|
|
|
25
25
|
onSegmentClick: k
|
|
26
26
|
} = e, v = S(
|
|
27
27
|
{ data: a.data, dimension: s, measure: n, maxLegendItems: f },
|
|
28
|
-
|
|
28
|
+
o
|
|
29
29
|
), V = L(
|
|
30
|
-
j({ measure: n, dimension: s },
|
|
31
|
-
((l =
|
|
30
|
+
j({ measure: n, dimension: s }, o),
|
|
31
|
+
((l = o.charts.donutChartPro) == null ? void 0 : l.options) ?? {}
|
|
32
32
|
), x = A({ results: a, dimension: s, onClicked: k });
|
|
33
33
|
return /* @__PURE__ */ m.jsx(
|
|
34
34
|
O,
|
|
@@ -53,25 +53,27 @@ const r = (e) => {
|
|
|
53
53
|
)
|
|
54
54
|
}
|
|
55
55
|
);
|
|
56
|
-
},
|
|
56
|
+
}, U = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
57
57
|
__proto__: null,
|
|
58
58
|
default: r
|
|
59
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
59
|
+
}, Symbol.toStringTag, { value: "Module" })), H = {
|
|
60
60
|
name: "DonutChartPro",
|
|
61
61
|
label: "Donut Chart",
|
|
62
62
|
description: "Donut chart for parts-of-whole over one dimension with one measure. Pick over PieChartPro when you want a center hole for a label or KPI.",
|
|
63
63
|
category: "Pie Charts",
|
|
64
|
+
defaultHeight: 442,
|
|
65
|
+
defaultWidth: 630,
|
|
64
66
|
inputs: [
|
|
65
|
-
|
|
66
|
-
{ ...
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
67
|
+
t.dataset,
|
|
68
|
+
{ ...t.measure, inputs: [...t.measure.inputs, F.showValueAsPercentage] },
|
|
69
|
+
t.dimension,
|
|
70
|
+
t.title,
|
|
71
|
+
t.description,
|
|
72
|
+
t.tooltip,
|
|
73
|
+
t.showLegend,
|
|
74
|
+
t.maxLegendItems,
|
|
75
|
+
t.showTooltips,
|
|
76
|
+
t.showValueLabels
|
|
75
77
|
],
|
|
76
78
|
events: [
|
|
77
79
|
{
|
|
@@ -97,10 +99,10 @@ const r = (e) => {
|
|
|
97
99
|
results: i.results1Measure1Dimension,
|
|
98
100
|
showValueLabels: !1,
|
|
99
101
|
hideMenu: !0
|
|
100
|
-
},
|
|
102
|
+
}, z = M(r, u), c = (e) => ({
|
|
101
103
|
from: e.dataset,
|
|
102
104
|
select: [e.measure, e.dimension]
|
|
103
|
-
}), p = (e) => T(c(e)),
|
|
105
|
+
}), p = (e) => T(c(e)), E = {
|
|
104
106
|
onSegmentClick: (e) => ({
|
|
105
107
|
dimensionValue: e.dimensionValue ?? d.noFilter(),
|
|
106
108
|
dimensionTimeRange: e.dimensionTimeRange ?? d.noFilter()
|
|
@@ -110,12 +112,12 @@ const r = (e) => {
|
|
|
110
112
|
results: p(e)
|
|
111
113
|
}), X = {
|
|
112
114
|
Component: r,
|
|
113
|
-
meta:
|
|
114
|
-
preview:
|
|
115
|
+
meta: H,
|
|
116
|
+
preview: z,
|
|
115
117
|
previewConfig: u,
|
|
116
118
|
config: {
|
|
117
119
|
props: K,
|
|
118
|
-
events:
|
|
120
|
+
events: E
|
|
119
121
|
},
|
|
120
122
|
results: {
|
|
121
123
|
loadDataArgs: c,
|
|
@@ -124,6 +126,6 @@ const r = (e) => {
|
|
|
124
126
|
};
|
|
125
127
|
export {
|
|
126
128
|
X as d,
|
|
127
|
-
|
|
129
|
+
U as i
|
|
128
130
|
};
|
|
129
|
-
//# sourceMappingURL=definition-
|
|
131
|
+
//# sourceMappingURL=definition-9Sm_nFEr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-9Sm_nFEr.js","sources":["../src/components/charts/pies/DonutChartPro/index.tsx","../src/components/charts/pies/DonutChartPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData, createPieClickHandler } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\nexport type DonutChartProProps = DefaultPieChartProps;\n\nconst DonutChartPro = (props: DonutChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n\n title,\n tooltip,\n } = resolveI18nProps(props);\n\n const {\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n hideMenu,\n onSegmentClick,\n } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions({ measure, dimension }, theme),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleClick = createPieClickHandler({ results, dimension, onClicked: onSegmentClick });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <DonutChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n","import { DataResponse, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { PieChartClickArg } from '../pies.types';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'DonutChartPro',\n label: 'Donut Chart',\n description:\n 'Donut chart for parts-of-whole over one dimension with one measure. Pick over PieChartPro when you want a center hole for a label or KPI.',\n category: 'Pie Charts',\n defaultHeight: 442,\n defaultWidth: 630,\n inputs: [\n inputs.dataset,\n { ...inputs.measure, inputs: [...inputs.measure.inputs, subInputs.showValueAsPercentage] },\n inputs.dimension,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.maxLegendItems,\n inputs.showTooltips,\n inputs.showValueLabels,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked dimension',\n type: 'string',\n },\n {\n name: 'dimensionTimeRange',\n label: 'Clicked dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measure: previewData.measure,\n results: previewData.results1Measure1Dimension,\n showValueLabels: false,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst events = {\n onSegmentClick: (value: PieChartClickArg) => ({\n dimensionValue: value.dimensionValue ?? Value.noFilter(),\n dimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const donutChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","title","tooltip","resolveI18nProps","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","hideMenu","onSegmentClick","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleClick","createPieClickHandler","jsx","ChartCard","DonutChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","donutChartPro"],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { i as U, r as Z } from "./component.utils-oQMZT7TK.js";
|
|
|
5
5
|
import { C as $ } from "./ChartCard-CZ0PnrNg.js";
|
|
6
6
|
import { u as ee } from "./charts.fillGaps.hooks-CxXM5Ff3.js";
|
|
7
7
|
import { C as ae, g as se } from "./granularity.utils-DnAzYxES.js";
|
|
8
|
-
import { g as ie, a as
|
|
9
|
-
import { b as
|
|
8
|
+
import { g as ie, a as te, l as f } from "./definition-Fqu3hJFW.js";
|
|
9
|
+
import { b as re } from "./formatter.utils-Dm_mQlX1.js";
|
|
10
10
|
import { a as ne } from "./charts.utils-BoJ5LrTC.js";
|
|
11
11
|
import { p as o } from "./preview.data.constants-HvHDcvh2.js";
|
|
12
12
|
import { g as oe } from "./clientContext.utils-DpB5KsfX.js";
|
|
@@ -14,15 +14,15 @@ const x = (a) => {
|
|
|
14
14
|
var T;
|
|
15
15
|
const e = Y();
|
|
16
16
|
U(e);
|
|
17
|
-
const { title: l, description:
|
|
17
|
+
const { title: l, description: r, tooltip: n, xAxisLabel: h, yAxisLabel: S } = Z(a), {
|
|
18
18
|
hideMenu: j,
|
|
19
19
|
measures: i,
|
|
20
|
-
xAxis:
|
|
20
|
+
xAxis: t,
|
|
21
21
|
reverseXAxis: k,
|
|
22
|
-
showLegend:
|
|
23
|
-
showLogarithmicScale:
|
|
24
|
-
showTooltips:
|
|
25
|
-
showValueLabels:
|
|
22
|
+
showLegend: W,
|
|
23
|
+
showLogarithmicScale: F,
|
|
24
|
+
showTooltips: G,
|
|
25
|
+
showValueLabels: V,
|
|
26
26
|
yAxisRangeMax: C,
|
|
27
27
|
yAxisRangeMin: b,
|
|
28
28
|
granularity: O,
|
|
@@ -35,24 +35,24 @@ const x = (a) => {
|
|
|
35
35
|
}, [i, u]);
|
|
36
36
|
const g = ee({
|
|
37
37
|
results: a.results,
|
|
38
|
-
dimension:
|
|
38
|
+
dimension: t
|
|
39
39
|
}), p = ie(
|
|
40
40
|
{
|
|
41
41
|
data: g.data,
|
|
42
|
-
dimension:
|
|
42
|
+
dimension: t,
|
|
43
43
|
measures: d ? [d] : [],
|
|
44
44
|
hasMinMaxYAxisRange: b != null || C != null
|
|
45
45
|
},
|
|
46
46
|
e
|
|
47
|
-
), _ =
|
|
48
|
-
{ data: p, dimension:
|
|
47
|
+
), _ = te(
|
|
48
|
+
{ data: p, dimension: t, measures: d ? [d] : [] },
|
|
49
49
|
e
|
|
50
|
-
),
|
|
50
|
+
), H = !l && !r && !n, I = ne({
|
|
51
51
|
data: p,
|
|
52
|
-
dimension:
|
|
52
|
+
dimension: t,
|
|
53
53
|
granularity: O,
|
|
54
54
|
onClicked: z
|
|
55
|
-
}), M =
|
|
55
|
+
}), M = re(e), E = i.map((s) => {
|
|
56
56
|
var y, L;
|
|
57
57
|
return {
|
|
58
58
|
id: s.name,
|
|
@@ -64,19 +64,19 @@ const x = (a) => {
|
|
|
64
64
|
$,
|
|
65
65
|
{
|
|
66
66
|
data: g,
|
|
67
|
-
dimensionsAndMeasures: [...i,
|
|
67
|
+
dimensionsAndMeasures: [...i, t],
|
|
68
68
|
errorMessage: g.error,
|
|
69
|
-
description:
|
|
69
|
+
description: r,
|
|
70
70
|
title: l,
|
|
71
71
|
tooltip: n,
|
|
72
72
|
hideMenu: j,
|
|
73
73
|
children: [
|
|
74
|
-
/* @__PURE__ */ c.jsx(N, { items:
|
|
74
|
+
/* @__PURE__ */ c.jsx(N, { items: E, value: u, onChange: D }),
|
|
75
75
|
A && /* @__PURE__ */ c.jsx(
|
|
76
76
|
ae,
|
|
77
77
|
{
|
|
78
|
-
hasMarginTop:
|
|
79
|
-
dimension:
|
|
78
|
+
hasMarginTop: H,
|
|
79
|
+
dimension: t,
|
|
80
80
|
onChange: A
|
|
81
81
|
}
|
|
82
82
|
),
|
|
@@ -85,16 +85,16 @@ const x = (a) => {
|
|
|
85
85
|
{
|
|
86
86
|
data: p,
|
|
87
87
|
reverseXAxis: k,
|
|
88
|
-
showLegend:
|
|
89
|
-
showLogarithmicScale:
|
|
90
|
-
showTooltips:
|
|
91
|
-
showValueLabels:
|
|
88
|
+
showLegend: W,
|
|
89
|
+
showLogarithmicScale: F,
|
|
90
|
+
showTooltips: G,
|
|
91
|
+
showValueLabels: V,
|
|
92
92
|
xAxisLabel: h,
|
|
93
93
|
yAxisLabel: S,
|
|
94
94
|
yAxisRangeMax: C,
|
|
95
95
|
yAxisRangeMin: b,
|
|
96
96
|
options: _,
|
|
97
|
-
onClick:
|
|
97
|
+
onClick: I
|
|
98
98
|
}
|
|
99
99
|
)
|
|
100
100
|
]
|
|
@@ -107,7 +107,9 @@ const x = (a) => {
|
|
|
107
107
|
...f.meta,
|
|
108
108
|
name: "LineChartWithKpiTabsPro",
|
|
109
109
|
label: "Line Chart - With Kpi Tabs",
|
|
110
|
-
description: "Line chart with clickable KPI tabs above — each measure gets a tab showing its total. One time dimension and one or more measures."
|
|
110
|
+
description: "Line chart with clickable KPI tabs above — each measure gets a tab showing its total. One time dimension and one or more measures.",
|
|
111
|
+
defaultHeight: 526,
|
|
112
|
+
defaultWidth: 1280
|
|
111
113
|
}, w = {
|
|
112
114
|
xAxis: o.dimension,
|
|
113
115
|
measures: [o.measure, o.measureVariant],
|
|
@@ -123,15 +125,15 @@ const x = (a) => {
|
|
|
123
125
|
axisDimensionValue: a.dimensionValue ?? v.noFilter(),
|
|
124
126
|
axisDimensionTimeRange: a.dimensionTimeRange ?? v.noFilter()
|
|
125
127
|
})
|
|
126
|
-
}, ce = (a, [e, l],
|
|
128
|
+
}, ce = (a, [e, l], r) => {
|
|
127
129
|
const n = se(a.xAxis, e == null ? void 0 : e.granularity);
|
|
128
130
|
return {
|
|
129
131
|
...a,
|
|
130
132
|
xAxis: n,
|
|
131
133
|
granularity: e == null ? void 0 : e.granularity,
|
|
132
134
|
setGranularity: (h) => l({ granularity: h }),
|
|
133
|
-
results: P(a, n,
|
|
134
|
-
resultsKpis: K(a,
|
|
135
|
+
results: P(a, n, r),
|
|
136
|
+
resultsKpis: K(a, r)
|
|
135
137
|
};
|
|
136
138
|
}, ve = {
|
|
137
139
|
Component: x,
|
|
@@ -155,4 +157,4 @@ export {
|
|
|
155
157
|
Le as i,
|
|
156
158
|
ve as l
|
|
157
159
|
};
|
|
158
|
-
//# sourceMappingURL=definition-
|
|
160
|
+
//# sourceMappingURL=definition-BdoMwDGX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-BdoMwDGX.js","sources":["../src/components/charts/lines/LineChartWithKpiTabsPro/index.tsx","../src/components/charts/lines/LineChartWithKpiTabsPro/definition.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartTabs, ChartTabsProps, LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport {\n getLineChartProData,\n getLineChartProOptions,\n} from '../LineChartDefaultPro/LineChartDefaultPro.utils';\nimport { LineChartProProps } from '../LineChartDefaultPro';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type LineChartWithKpiTabsProProps = LineChartProProps & {\n resultsKpis: DataResponse;\n};\n\nconst LineChartWithKpiTabsPro = (props: LineChartWithKpiTabsProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n granularity,\n setGranularity,\n onLineClicked,\n resultsKpis,\n } = props;\n\n const [activeMeasureName, setActiveMeasureName] = useState(measures[0]?.name ?? '');\n const activeMeasure = measures.find((m) => m.name === activeMeasureName);\n\n useEffect(() => {\n if (measures.length === 0) return;\n if (measures.some((m) => m.name === activeMeasureName)) return;\n setActiveMeasureName(measures[0]!.name);\n }, [measures, activeMeasureName]);\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures: activeMeasure ? [activeMeasure] : [],\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures: activeMeasure ? [activeMeasure] : [] },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension: xAxis,\n granularity,\n onClicked: onLineClicked,\n });\n\n const themeFormatter = getThemeFormatter(theme);\n\n const chartTabsItems: ChartTabsProps['items'] = measures.map((measure) => ({\n id: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n value:\n resultsKpis?.data?.[0]?.[measure.name] == null\n ? '-'\n : themeFormatter.data(measure, resultsKpis.data[0][measure.name]),\n }));\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ChartTabs items={chartTabsItems} value={activeMeasureName} onChange={setActiveMeasureName} />\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartWithKpiTabsPro;\n","import { DataResponse, Granularity, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { lineChartDefaultPro, LineChartDefaultProState } from '../LineChartDefaultPro/definition';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { LineChartProOptionsClickArg } from '../lines.types';\n\nconst meta = {\n ...lineChartDefaultPro.meta,\n name: 'LineChartWithKpiTabsPro',\n label: 'Line Chart - With Kpi Tabs',\n description:\n 'Line chart with clickable KPI tabs above — each measure gets a tab showing its total. One time dimension and one or more measures.',\n defaultHeight: 526,\n defaultWidth: 1280,\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n measures: [previewData.measure, previewData.measureVariant],\n results: previewData.results1Measure1Dimension,\n resultsKpis: previewData.results2Measures,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\n// Reuse loadData and loadDataArgs from LineChartDefaultPro for main results,\nconst loadDataResultsArgs = lineChartDefaultPro.results.loadDataArgs;\nconst loadDataResults = lineChartDefaultPro.results.loadData;\n\nconst loadDataResultsKpisArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [...inputs.measures],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResultsKpis = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsKpisArgs(inputs, clientContext));\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartDefaultProState, (state: LineChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n resultsKpis: loadDataResultsKpis(inputs, clientContext),\n };\n};\n\nexport const lineChartWithKpiTabsPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsKpis: {\n loadDataArgs: loadDataResultsKpisArgs,\n loadData: loadDataResultsKpis,\n },\n} as const;\n"],"names":["LineChartWithKpiTabsPro","props","theme","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","measures","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","granularity","setGranularity","onLineClicked","resultsKpis","activeMeasureName","setActiveMeasureName","useState","_a","activeMeasure","m","useEffect","results","useFillGaps","data","getLineChartProData","options","getLineChartProOptions","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","themeFormatter","getThemeFormatter","chartTabsItems","measure","_b","jsxs","ChartCard","jsx","ChartTabs","ChartGranularitySelectField","LineChart","meta","lineChartDefaultPro","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadDataResultsKpisArgs","inputs","clientContext","getClientContextTimezone","loadDataResultsKpis","loadData","events","value","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","lineChartWithKpiTabsPro"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a7 as S, K as J, a8 as z } from "./index-Cddhb628.js";
|
|
2
|
-
import { useTheme as
|
|
3
|
-
import { i as G, r as Q, a as
|
|
2
|
+
import { useTheme as Y, definePreview as $ } from "@embeddable.com/react";
|
|
3
|
+
import { i as G, r as Q, a as s } from "./component.utils-oQMZT7TK.js";
|
|
4
4
|
import { C as U } from "./ChartCard-CZ0PnrNg.js";
|
|
5
5
|
import { b as X } from "./formatter.utils-Dm_mQlX1.js";
|
|
6
6
|
import { useEffect as Z } from "react";
|
|
@@ -10,8 +10,8 @@ import { i as o } from "./component.inputs.constants-BFlnzCwS.js";
|
|
|
10
10
|
import { p as c } from "./preview.data.constants-HvHDcvh2.js";
|
|
11
11
|
import { g as T } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
12
|
const g = (e) => {
|
|
13
|
-
var
|
|
14
|
-
const a =
|
|
13
|
+
var y, D, P, b, C, R;
|
|
14
|
+
const a = Y();
|
|
15
15
|
G(a);
|
|
16
16
|
const { title: t, description: m, tooltip: l, displayNullAs: u } = Q(e), {
|
|
17
17
|
hideMenu: _,
|
|
@@ -20,43 +20,43 @@ const g = (e) => {
|
|
|
20
20
|
comparisonDateRange: M,
|
|
21
21
|
displayChangeAsPercentage: V,
|
|
22
22
|
fontSize: j,
|
|
23
|
-
measure:
|
|
24
|
-
primaryDateRange:
|
|
23
|
+
measure: n,
|
|
24
|
+
primaryDateRange: f,
|
|
25
25
|
results: i,
|
|
26
26
|
resultsComparison: r,
|
|
27
27
|
reversePositiveNegativeColors: k,
|
|
28
28
|
percentageDecimalPlaces: O,
|
|
29
|
-
setComparisonDateRange:
|
|
29
|
+
setComparisonDateRange: h
|
|
30
30
|
} = e;
|
|
31
31
|
Z(() => {
|
|
32
|
-
if (!
|
|
32
|
+
if (!h) return;
|
|
33
33
|
const d = x(
|
|
34
|
-
|
|
34
|
+
f,
|
|
35
35
|
p,
|
|
36
36
|
a
|
|
37
37
|
);
|
|
38
|
-
|
|
39
|
-
}, [p, JSON.stringify(
|
|
40
|
-
const q = (
|
|
38
|
+
h(d);
|
|
39
|
+
}, [p, JSON.stringify(f), a]);
|
|
40
|
+
const q = (D = (y = i.data) == null ? void 0 : y[0]) == null ? void 0 : D[n.name], B = M ? (b = (P = r == null ? void 0 : r.data) == null ? void 0 : P[0]) == null ? void 0 : b[n.name] : void 0, E = X(a), H = (d) => E.data(n, d), I = `vs ${ee(p, a).toLowerCase()}`, v = {
|
|
41
41
|
isLoading: !!(i.isLoading || r != null && r.isLoading),
|
|
42
42
|
data: !(i != null && i.data) && !(r != null && r.data) ? void 0 : [
|
|
43
|
-
...(C = i.data) != null && C.length ? [{ label:
|
|
44
|
-
...(R = r == null ? void 0 : r.data) != null && R.length ? [{ label:
|
|
43
|
+
...(C = i.data) != null && C.length ? [{ label: s.t("charts.primaryPeriod"), ...i.data[0] }] : [],
|
|
44
|
+
...(R = r == null ? void 0 : r.data) != null && R.length ? [{ label: s.t("charts.comparisonPeriod"), ...r.data[0] }] : []
|
|
45
45
|
]
|
|
46
|
-
},
|
|
46
|
+
}, W = ae(v, n, !!u);
|
|
47
47
|
return /* @__PURE__ */ S.jsx(
|
|
48
48
|
U,
|
|
49
49
|
{
|
|
50
|
-
data:
|
|
50
|
+
data: W,
|
|
51
51
|
dimensionsAndMeasures: [
|
|
52
52
|
// Add a label dimension to distinguish primary and comparison periods in exports
|
|
53
53
|
{
|
|
54
54
|
name: "label",
|
|
55
|
-
title:
|
|
55
|
+
title: s.t("charts.label"),
|
|
56
56
|
nativeType: "string",
|
|
57
57
|
__type__: "dimension"
|
|
58
58
|
},
|
|
59
|
-
|
|
59
|
+
n
|
|
60
60
|
],
|
|
61
61
|
errorMessage: i.error,
|
|
62
62
|
description: m,
|
|
@@ -68,21 +68,21 @@ const g = (e) => {
|
|
|
68
68
|
{
|
|
69
69
|
displayNullAs: u,
|
|
70
70
|
value: q,
|
|
71
|
-
comparisonValue:
|
|
72
|
-
valueFormatter:
|
|
71
|
+
comparisonValue: v.isLoading ? void 0 : B,
|
|
72
|
+
valueFormatter: H,
|
|
73
73
|
valueFontSize: j,
|
|
74
74
|
trendFontSize: F,
|
|
75
75
|
invertChangeColors: k,
|
|
76
76
|
showChangeAsPercentage: V,
|
|
77
|
-
comparisonLabel:
|
|
77
|
+
comparisonLabel: I,
|
|
78
78
|
percentageDecimalPlaces: O,
|
|
79
|
-
noPreviousDataLabel:
|
|
80
|
-
equalComparisonLabel:
|
|
79
|
+
noPreviousDataLabel: s.t("charts.kpiChart.noPreviousData"),
|
|
80
|
+
equalComparisonLabel: s.t("charts.kpiChart.equalComparison")
|
|
81
81
|
}
|
|
82
82
|
)
|
|
83
83
|
}
|
|
84
84
|
);
|
|
85
|
-
},
|
|
85
|
+
}, he = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
86
86
|
__proto__: null,
|
|
87
87
|
default: g
|
|
88
88
|
}, Symbol.toStringTag, { value: "Module" })), oe = {
|
|
@@ -90,6 +90,8 @@ const g = (e) => {
|
|
|
90
90
|
label: "Kpi Chart - Number Comparison",
|
|
91
91
|
description: "KPI with a delta versus a comparison period. Takes one measure and pairs with a comparison-period variable.",
|
|
92
92
|
category: "Kpi Charts",
|
|
93
|
+
defaultHeight: 442,
|
|
94
|
+
defaultWidth: 630,
|
|
93
95
|
inputs: [
|
|
94
96
|
o.dataset,
|
|
95
97
|
o.measure,
|
|
@@ -98,7 +100,7 @@ const g = (e) => {
|
|
|
98
100
|
...o.timeRange,
|
|
99
101
|
name: "primaryDateRange",
|
|
100
102
|
label: "Primary date-range",
|
|
101
|
-
description: "
|
|
103
|
+
description: "The comparison period is derived internally using this date range — do not also apply a date filter on the underlying dataset",
|
|
102
104
|
category: "Component Data"
|
|
103
105
|
},
|
|
104
106
|
{
|
|
@@ -183,7 +185,7 @@ const g = (e) => {
|
|
|
183
185
|
setComparisonDateRange: (l) => t({ comparisonDateRange: l }),
|
|
184
186
|
results: w(e, m),
|
|
185
187
|
resultsComparison: K(e, a, m)
|
|
186
|
-
}),
|
|
188
|
+
}), ve = {
|
|
187
189
|
Component: g,
|
|
188
190
|
meta: oe,
|
|
189
191
|
preview: re,
|
|
@@ -201,7 +203,7 @@ const g = (e) => {
|
|
|
201
203
|
}
|
|
202
204
|
};
|
|
203
205
|
export {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
+
he as i,
|
|
207
|
+
ve as k
|
|
206
208
|
};
|
|
207
|
-
//# sourceMappingURL=definition-
|
|
209
|
+
//# sourceMappingURL=definition-BiIMsrRD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-BiIMsrRD.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/components/charts/kpis/KpiChartNumberComparisonPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberComparisonProProp = {\n changeFontSize?: number;\n comparisonPeriod?: string;\n displayChangeAsPercentage?: boolean;\n fontSize?: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n percentageDecimalPlaces?: number;\n comparisonDateRange: TimeRange;\n displayNullAs?: string;\n setComparisonDateRange?: (dateRange: TimeRange) => void;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const {\n hideMenu,\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n if (!setComparisonDateRange) return;\n\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n const resultsWithNullsHandled = getKpiResults(resultsCombined, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n trendFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n noPreviousDataLabel={i18n.t('charts.kpiChart.noPreviousData')}\n equalComparisonLabel={i18n.t('charts.kpiChart.equalComparison')}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { DataResponse, loadData, LoadDataRequest, TimeRange } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n description:\n 'KPI with a delta versus a comparison period. Takes one measure and pairs with a comparison-period variable.',\n category: 'Kpi Charts',\n defaultHeight: 442,\n defaultWidth: 630,\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionTime, name: 'timeProperty', label: 'Time property' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description:\n 'The comparison period is derived internally using this date range — do not also apply a date filter on the underlying dataset',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.fontSize,\n {\n ...inputs.fontSize,\n name: 'changeFontSize',\n label: 'Trend font-size',\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n resultsComparison: previewData.results1MeasureVariant,\n primaryDateRange: undefined,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Today', from: undefined, to: undefined },\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsComparisonArgs = (\n inputs: Inputs<typeof meta>,\n comparisonDateRange: TimeRange,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: comparisonDateRange,\n },\n ],\n});\n\nconst loadDataResultsComparison = (\n inputs: Inputs<typeof meta>,\n state: KpiChartNumberComparisonProState,\n clientContext: ThemeClientContext,\n): DataResponse | undefined => {\n if (inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsComparisonArgs(inputs, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n comparisonPeriod: inputs.comparisonPeriod as string | undefined,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadDataResults(inputs, clientContext),\n resultsComparison: loadDataResultsComparison(inputs, state, clientContext),\n});\n\nexport const kpiChartNumberComparisonPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsComparison: {\n loadDataArgs: loadDataResultsComparisonArgs,\n loadData: loadDataResultsComparison,\n },\n} as const;\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","hideMenu","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsComparisonArgs","loadDataResultsComparison","state","setState","kpiChartNumberComparisonPro"],"mappings":"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"}
|