@embeddable.com/remarkable-pro 0.0.4 → 0.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/dist/BarChartDefaultHorizontalPro.js +25 -85
- package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
- package/dist/BarChartDefaultPro.js +25 -84
- package/dist/BarChartDefaultPro.js.map +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +33 -102
- package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
- package/dist/BarChartGroupedPro.js +27 -95
- package/dist/BarChartGroupedPro.js.map +1 -1
- package/dist/BarChartStackedHorizontalPro.js +28 -98
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +28 -97
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/{ChartCard-C7c2rTst.js → ChartCard-hWESZ2Ps.js} +27 -27
- package/dist/{ChartCard-C7c2rTst.js.map → ChartCard-hWESZ2Ps.js.map} +1 -1
- package/dist/{Color.type.emb-CSPAaucR.js → Color.type.emb-CWTlQmpX.js} +2 -2
- package/dist/{Color.type.emb-CSPAaucR.js.map → Color.type.emb-CWTlQmpX.js.map} +1 -1
- package/dist/ColorEditor.js +2 -2
- package/dist/{ComparisonPeriod.type.emb-DOpJ1iWj.js → ComparisonPeriod.type.emb-A4w1cgoZ.js} +2 -2
- package/dist/{ComparisonPeriod.type.emb-DOpJ1iWj.js.map → ComparisonPeriod.type.emb-A4w1cgoZ.js.map} +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +17 -58
- package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
- package/dist/DateRangeSelectFieldPro.js +3 -3
- package/dist/DonutChartPro.js +3 -3
- package/dist/DonutLabelChartPro.js +3 -3
- package/dist/EditorCard-BZ9OPW3m.js +32 -0
- package/dist/{EditorCard-BtlvgP9q.js.map → EditorCard-BZ9OPW3m.js.map} +1 -1
- package/dist/HeatMapPro.js +26 -93
- package/dist/HeatMapPro.js.map +1 -1
- package/dist/KpiChartNumberComparisonPro.js +25 -94
- package/dist/KpiChartNumberComparisonPro.js.map +1 -1
- package/dist/KpiChartNumberPro.js +14 -31
- package/dist/KpiChartNumberPro.js.map +1 -1
- package/dist/LineChartComparisonDefaultPro.js +59 -370
- package/dist/LineChartComparisonDefaultPro.js.map +1 -1
- package/dist/LineChartDefaultPro.js +31 -179
- package/dist/LineChartDefaultPro.js.map +1 -1
- package/dist/LineChartGroupedPro.js +30 -174
- package/dist/LineChartGroupedPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +3 -3
- package/dist/PieChartPro.js +3 -3
- package/dist/PivotTablePro.js +23 -145
- package/dist/PivotTablePro.js.map +1 -1
- package/dist/SingleSelectFieldPro.js +3 -3
- package/dist/TableChartPaginated.js +37 -172
- package/dist/TableChartPaginated.js.map +1 -1
- package/dist/{bars.utils-JRnFN04m.js → bars.utils-wDaeYsgx.js} +7 -7
- package/dist/{bars.utils-JRnFN04m.js.map → bars.utils-wDaeYsgx.js.map} +1 -1
- package/dist/{charts.utils-DAkS2VK1.js → charts.utils-DvG9esg1.js} +4 -4
- package/dist/{charts.utils-DAkS2VK1.js.map → charts.utils-DvG9esg1.js.map} +1 -1
- package/dist/{component.constants-h6et83ck.js → component.constants-Dhb2rtRh.js} +2 -2
- package/dist/{component.constants-h6et83ck.js.map → component.constants-Dhb2rtRh.js.map} +1 -1
- package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts +1 -4
- package/dist/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/tables.hooks.d.ts +17 -0
- package/dist/components/charts/tables/tables.hooks.d.ts.map +1 -0
- package/dist/embeddable-components.json +12 -12
- package/dist/{formatter.utils-DXzI4Hz_.js → formatter.utils-Bdp9Y-Lv.js} +2 -2
- package/dist/{formatter.utils-DXzI4Hz_.js.map → formatter.utils-Bdp9Y-Lv.js.map} +1 -1
- package/dist/index-B-x3eR8s.js +83 -0
- package/dist/index-B-x3eR8s.js.map +1 -0
- package/dist/index-B2-si8wa.js +82 -0
- package/dist/index-B2-si8wa.js.map +1 -0
- package/dist/{index-DF-AuKua.js → index-B7H0xf_l.js} +15 -14
- package/dist/{index-DF-AuKua.js.map → index-B7H0xf_l.js.map} +1 -1
- package/dist/index-BPkkRwcA.js +159 -0
- package/dist/index-BPkkRwcA.js.map +1 -0
- package/dist/{index-CWYH2gE2.js → index-BbEkJ2Zk.js} +5 -5
- package/dist/{index-CWYH2gE2.js.map → index-BbEkJ2Zk.js.map} +1 -1
- package/dist/index-BxkGSCbn.js +81 -0
- package/dist/index-BxkGSCbn.js.map +1 -0
- package/dist/index-C4uAHg_1.js +82 -0
- package/dist/index-C4uAHg_1.js.map +1 -0
- package/dist/index-CA0eQwx6.js +95 -0
- package/dist/index-CA0eQwx6.js.map +1 -0
- package/dist/index-CEyir5HV.js +326 -0
- package/dist/index-CEyir5HV.js.map +1 -0
- package/dist/{index-B4S34Z5S.js → index-CGLsIs8j.js} +6 -6
- package/dist/{index-B4S34Z5S.js.map → index-CGLsIs8j.js.map} +1 -1
- package/dist/{index-BR6dp5RX.js → index-CK9V-wz1.js} +13 -13
- package/dist/{index-BR6dp5RX.js.map → index-CK9V-wz1.js.map} +1 -1
- package/dist/index-CMy4Riwi.js +152 -0
- package/dist/index-CMy4Riwi.js.map +1 -0
- package/dist/index-CZ9yuIpZ.js +82 -0
- package/dist/index-CZ9yuIpZ.js.map +1 -0
- package/dist/{index-C8O2asSv.js → index-CvhDbU54.js} +5 -5
- package/dist/{index-C8O2asSv.js.map → index-CvhDbU54.js.map} +1 -1
- package/dist/{index-QOVQo6ZK.js → index-D4L5OYNQ.js} +5 -5
- package/dist/{index-QOVQo6ZK.js.map → index-D4L5OYNQ.js.map} +1 -1
- package/dist/index-DSAnOSq9.js +73 -0
- package/dist/index-DSAnOSq9.js.map +1 -0
- package/dist/index-DYa6RC1f.js +89 -0
- package/dist/index-DYa6RC1f.js.map +1 -0
- package/dist/index-DZypsIb4.js +30 -0
- package/dist/index-DZypsIb4.js.map +1 -0
- package/dist/index-DyLLyX5j.js +56 -0
- package/dist/index-DyLLyX5j.js.map +1 -0
- package/dist/index-YMH6QSSf.js +163 -0
- package/dist/index-YMH6QSSf.js.map +1 -0
- package/dist/{index-Czj-HZH9.js → index-cy3SJfGM.js} +5 -5
- package/dist/{index-Czj-HZH9.js.map → index-cy3SJfGM.js.map} +1 -1
- package/dist/index-uFQScwgQ.js +72 -0
- package/dist/index-uFQScwgQ.js.map +1 -0
- package/dist/index.d.ts +28 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -75
- package/dist/index.js.map +1 -1
- package/dist/{pies.utils-Bl8jquyV.js → pies.utils-eND-eqpj.js} +5 -5
- package/dist/{pies.utils-Bl8jquyV.js.map → pies.utils-eND-eqpj.js.map} +1 -1
- package/dist/remarkable-pro.css +1 -1
- package/dist/tables.hooks-BQdyUxau.js +45 -0
- package/dist/tables.hooks-BQdyUxau.js.map +1 -0
- package/dist/{timeRange.utils-CslTQiVA.js → timeRange.utils-DLTzyLvc.js} +2 -2
- package/dist/{timeRange.utils-CslTQiVA.js.map → timeRange.utils-DLTzyLvc.js.map} +1 -1
- package/package.json +2 -2
- package/dist/EditorCard-BtlvgP9q.js +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/tables/HeatMapPro/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAItD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAW,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/tables/HeatMapPro/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAItD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAW,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAKpG,KAAK,eAAe,GAAG;IACrB,eAAe,EAAE,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,EAAE,SAAS,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,OAAO;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAC3B,OAAO,KAAK,KAEX,mBAAmB,CAAC,GAAG,CAUzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,EAC/B,OAAO,KAAK,KAEX,qBAAqB,CAAC,GAAG,CAQ3B,CAAC;AAEF,QAAA,MAAM,UAAU,GAAI,OAAO,eAAe,4CA8EzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Dimension, Measure } from '@embeddable.com/core';
|
|
2
2
|
import { Theme } from '../../../../theme/theme.types';
|
|
3
3
|
import { PivotTableProps } from '@embeddable.com/remarkable-ui';
|
|
4
4
|
export declare const getPivotMeasures: (props: {
|
|
@@ -10,7 +10,4 @@ export declare const getPivotDimension: (props: {
|
|
|
10
10
|
}, theme: Theme) => PivotTableProps<any>["rowDimension" | "columnDimension"];
|
|
11
11
|
export declare const getPivotColumnTotalsFor: (measures: Measure[]) => PivotTableProps<any>["columnTotalsFor"] | undefined;
|
|
12
12
|
export declare const getPivotRowTotalsFor: (measures: Measure[]) => PivotTableProps<any>["rowTotalsFor"] | undefined;
|
|
13
|
-
export declare const getPivotTableRows: (results: DataResponse, columnOrder: (string | number | boolean)[], rowOrder: (string | number | boolean)[], columnDimension: Dimension, rowDimension: Dimension, measures: Measure[]) => {
|
|
14
|
-
[attr: string]: any;
|
|
15
|
-
}[];
|
|
16
13
|
//# sourceMappingURL=PivotPro.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PivotPro.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PivotPro.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAKhE,eAAO,MAAM,gBAAgB,GAC3B,OAAO;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACtD,OAAO,KAAK,KACX,eAAe,CAAC,GAAG,CAAC,CAAC,UAAU,CAkBjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,OAAO;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,EAC/B,OAAO,KAAK,KACX,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,GAAG,iBAAiB,CAQzD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,UAAU,OAAO,EAAE,KAClB,eAAe,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,GAAG,SAE5C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,OAAO,EAAE,KAClB,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,SAEzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/tables/PivotTablePro/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAcxE,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,OAAO,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/tables/PivotTablePro/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAcxE,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,OAAO,kBAAkB,4CAkE/C,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DataResponse, Dimension, Measure } from '@embeddable.com/core';
|
|
2
|
+
type useGetTableSortedResultsProps = {
|
|
3
|
+
results: DataResponse;
|
|
4
|
+
columnOrder: (string | number | boolean)[];
|
|
5
|
+
rowOrder: (string | number | boolean)[];
|
|
6
|
+
columnDimension: Dimension;
|
|
7
|
+
rowDimension: Dimension;
|
|
8
|
+
measures: Measure[];
|
|
9
|
+
};
|
|
10
|
+
export declare const getTableSortedResults: (props: useGetTableSortedResultsProps) => {
|
|
11
|
+
[attr: string]: any;
|
|
12
|
+
}[];
|
|
13
|
+
export declare const useGetTableSortedResults: (props: useGetTableSortedResultsProps) => {
|
|
14
|
+
[attr: string]: any;
|
|
15
|
+
}[];
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=tables.hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables.hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/charts/tables/tables.hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAqDxE,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAC3C,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IACxC,eAAe,EAAE,SAAS,CAAC;IAC3B,YAAY,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,OAAO,6BAA6B;;GAgEzE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,6BAA6B;;GAK5E,CAAC"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"components": [
|
|
3
3
|
"ComparisonPeriodSelectFieldPro",
|
|
4
|
-
"MultiSelectFieldPro",
|
|
5
4
|
"DateRangeSelectFieldPro",
|
|
5
|
+
"BarChartDefaultHorizontalPro",
|
|
6
|
+
"MultiSelectFieldPro",
|
|
6
7
|
"SingleSelectFieldPro",
|
|
7
|
-
"
|
|
8
|
+
"DonutChartPro",
|
|
9
|
+
"LineChartDefaultPro",
|
|
10
|
+
"LineChartGroupedPro",
|
|
11
|
+
"KpiChartNumberComparisonPro",
|
|
8
12
|
"BarChartGroupedHorizontalPro",
|
|
9
|
-
"
|
|
13
|
+
"KpiChartNumberPro",
|
|
14
|
+
"BarChartDefaultPro",
|
|
10
15
|
"LineChartComparisonDefaultPro",
|
|
11
|
-
"LineChartDefaultPro",
|
|
12
|
-
"BarChartStackedHorizontalPro",
|
|
13
16
|
"BarChartGroupedPro",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"KpiChartNumberComparisonPro",
|
|
17
|
-
"LineChartGroupedPro",
|
|
18
|
-
"HeatMapPro",
|
|
19
|
-
"PieChartPro",
|
|
17
|
+
"BarChartStackedHorizontalPro",
|
|
18
|
+
"BarChartStackedPro",
|
|
20
19
|
"DonutLabelChartPro",
|
|
21
|
-
"
|
|
20
|
+
"PieChartPro",
|
|
22
21
|
"PivotTablePro",
|
|
22
|
+
"HeatMapPro",
|
|
23
23
|
"TableChartPaginated"
|
|
24
24
|
],
|
|
25
25
|
"editors": [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as T } from "./component.constants-
|
|
1
|
+
import { $ as T } from "./component.constants-Dhb2rtRh.js";
|
|
2
2
|
const i = (r) => {
|
|
3
3
|
const s = {};
|
|
4
4
|
return (m) => {
|
|
@@ -43,4 +43,4 @@ const i = (r) => {
|
|
|
43
43
|
export {
|
|
44
44
|
D as g
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=formatter.utils-
|
|
46
|
+
//# sourceMappingURL=formatter.utils-Bdp9Y-Lv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.utils-
|
|
1
|
+
{"version":3,"file":"formatter.utils-Bdp9Y-Lv.js","sources":["../src/utils.ts/cache.utils.ts","../src/utils.ts/data.utils.ts","../src/theme/formatter/formatter.utils.ts"],"sourcesContent":["/**\n * Creates a formatter cache.\n * Cache used to prevent unnecessary (expensive) creation of formatter objects\n */\nexport const cache = <Params, Formatter>(factory: (params?: Params) => Formatter) => {\n const internalCache: { [key: string]: Formatter } = {};\n const get = (params?: Params) => {\n const key = JSON.stringify(params);\n let formatter = internalCache[key];\n if (formatter) {\n return formatter;\n }\n formatter = factory(params);\n internalCache[key] = formatter;\n return formatter;\n };\n return get;\n};\n","const ISO_DATE_TIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}$/;\n\nexport const isValidISODate = (value: string): boolean => {\n return Boolean(value && ISO_DATE_TIME_REGEX.test(value));\n};\n","import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { DateTimeFormatter, NumberFormatter, StringFormatter } from './formatter.types';\nimport { Theme } from '../theme.types';\nimport { cache } from '../../utils.ts/cache.utils';\nimport { isValidISODate } from '../../utils.ts/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\n\nexport type GetThemeFormatter = {\n string: (key: string) => string;\n number: (value: number | bigint, options?: Intl.NumberFormatOptions) => string;\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions) => string;\n dimensionOrMeasureTitle: (key: DimensionOrMeasure) => string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any) => string;\n};\n\nexport const getThemeFormatter = (theme: Theme): GetThemeFormatter => {\n const cachedNumberFormatter = cache<Intl.NumberFormatOptions, NumberFormatter>((options) =>\n theme.formatter.numberFormatter(theme, options),\n );\n\n const cachedDataNumberFormatter = cache<DimensionOrMeasure, NumberFormatter>((key) =>\n theme.formatter.dataNumberFormatter(theme, key!),\n );\n\n const cachedDateTimeFormatter = cache<Intl.DateTimeFormatOptions, DateTimeFormatter>((options) =>\n theme.formatter.dateTimeFormatter(theme, options),\n );\n\n const cachedDataDateTimeFormatter = cache<DimensionOrMeasure, DateTimeFormatter>((key) =>\n theme.formatter.dataDateTimeFormatter(theme, key!),\n );\n\n const cachedDataOthersFormatter = cache<DimensionOrMeasure, StringFormatter>((key) =>\n theme.formatter.dataOthersFormatter(theme, key!),\n );\n\n return {\n string: (key: string) => theme.formatter.stringFormatter().format(key),\n number: (value: number | bigint, options?: Intl.NumberFormatOptions): string => {\n return cachedNumberFormatter(options).format(value);\n },\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions): string => {\n return cachedDateTimeFormatter(options).format(value);\n },\n dimensionOrMeasureTitle: (key: DimensionOrMeasure): string => {\n const displayName = key.inputs?.displayName;\n if (displayName) {\n if (displayName.includes('|')) {\n return resolveI18nString(displayName);\n }\n return displayName;\n }\n\n const resolved = cachedDataOthersFormatter(key).format(key.name);\n return resolved === key.name ? (key.title ?? key.name) : resolved;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any): string => {\n let newValue = value;\n\n // Number\n if (key.nativeType === 'number') {\n newValue = cachedDataNumberFormatter(key).format(value);\n }\n\n // Time\n if (key.nativeType === 'time' && isValidISODate(value)) {\n newValue = cachedDataDateTimeFormatter(key).format(new Date(value));\n }\n\n // Others (boolean and string)\n if (key.nativeType === 'boolean' || key.nativeType === 'string') {\n newValue = cachedDataOthersFormatter(key).format(value);\n }\n\n // Prefix and suffix\n const appended = `${key.inputs?.prefix || ''}${newValue}${key.inputs?.suffix || ''}`;\n\n // Max characters\n if (key.inputs?.maxCharacters) {\n if (appended.length <= key.inputs.maxCharacters) {\n return appended;\n }\n return appended.substring(0, key.inputs.maxCharacters) + '...';\n }\n\n return appended;\n },\n };\n};\n"],"names":["cache","factory","internalCache","params","key","formatter","ISO_DATE_TIME_REGEX","isValidISODate","value","getThemeFormatter","theme","cachedNumberFormatter","options","cachedDataNumberFormatter","cachedDateTimeFormatter","cachedDataDateTimeFormatter","cachedDataOthersFormatter","displayName","_a","resolveI18nString","resolved","newValue","appended","_b","_c"],"mappings":";AAIO,MAAMA,IAAQ,CAAoBC,MAA4C;AACnF,QAAMC,IAA8C,CAAA;AAWpD,SAVY,CAACC,MAAoB;AAC/B,UAAMC,IAAM,KAAK,UAAUD,CAAM;AACjC,QAAIE,IAAYH,EAAcE,CAAG;AACjC,WAAIC,MAGJA,IAAYJ,EAAQE,CAAM,GAC1BD,EAAcE,CAAG,IAAIC,GACdA;AAAA,EACT;AAEF,GCjBMC,IAAsB,gDAEfC,IAAiB,CAACC,MACtB,GAAQA,KAASF,EAAoB,KAAKE,CAAK,ICa3CC,IAAoB,CAACC,MAAoC;AACpE,QAAMC,IAAwBX;AAAA,IAAiD,CAACY,MAC9EF,EAAM,UAAU,gBAAgBA,GAAOE,CAAO;AAAA,EAAA,GAG1CC,IAA4Bb;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA,GAG3CU,IAA0Bd;AAAA,IAAqD,CAACY,MACpFF,EAAM,UAAU,kBAAkBA,GAAOE,CAAO;AAAA,EAAA,GAG5CG,IAA8Bf;AAAA,IAA6C,CAACI,MAChFM,EAAM,UAAU,sBAAsBA,GAAON,CAAI;AAAA,EAAA,GAG7CY,IAA4BhB;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA;AAGjD,SAAO;AAAA,IACL,QAAQ,CAACA,MAAgBM,EAAM,UAAU,gBAAA,EAAkB,OAAON,CAAG;AAAA,IACrE,QAAQ,CAACI,GAAwBI,MACxBD,EAAsBC,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEpD,UAAU,CAACA,GAAaI,MACfE,EAAwBF,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEtD,yBAAyB,CAACJ,MAAoC;;AAC5D,YAAMa,KAAcC,IAAAd,EAAI,WAAJ,gBAAAc,EAAY;AAChC,UAAID;AACF,eAAIA,EAAY,SAAS,GAAG,IACnBE,EAAkBF,CAAW,IAE/BA;AAGT,YAAMG,IAAWJ,EAA0BZ,CAAG,EAAE,OAAOA,EAAI,IAAI;AAC/D,aAAOgB,MAAahB,EAAI,OAAQA,EAAI,SAASA,EAAI,OAAQgB;AAAA,IAC3D;AAAA;AAAA,IAEA,MAAM,CAAChB,GAAyBI,MAAuB;;AACrD,UAAIa,IAAWb;AAGf,MAAIJ,EAAI,eAAe,aACrBiB,IAAWR,EAA0BT,CAAG,EAAE,OAAOI,CAAK,IAIpDJ,EAAI,eAAe,UAAUG,EAAeC,CAAK,MACnDa,IAAWN,EAA4BX,CAAG,EAAE,OAAO,IAAI,KAAKI,CAAK,CAAC,KAIhEJ,EAAI,eAAe,aAAaA,EAAI,eAAe,cACrDiB,IAAWL,EAA0BZ,CAAG,EAAE,OAAOI,CAAK;AAIxD,YAAMc,IAAW,KAAGJ,IAAAd,EAAI,WAAJ,gBAAAc,EAAY,WAAU,EAAE,GAAGG,CAAQ,KAAGE,IAAAnB,EAAI,WAAJ,gBAAAmB,EAAY,WAAU,EAAE;AAGlF,cAAIC,IAAApB,EAAI,WAAJ,QAAAoB,EAAY,gBACVF,EAAS,UAAUlB,EAAI,OAAO,gBACzBkB,IAEFA,EAAS,UAAU,GAAGlB,EAAI,OAAO,aAAa,IAAI,QAGpDkB;AAAA,IACT;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { m as y, j as m, B as L } from "./index-CK9V-wz1.js";
|
|
2
|
+
import { useTheme as P } from "@embeddable.com/react";
|
|
3
|
+
import { a as k, r as w } from "./component.constants-Dhb2rtRh.js";
|
|
4
|
+
import { C as z } from "./ChartCard-hWESZ2Ps.js";
|
|
5
|
+
import { g as M, b as T } from "./bars.utils-wDaeYsgx.js";
|
|
6
|
+
import { u as _ } from "./charts.fillGaps.hooks-YayOXVmt.js";
|
|
7
|
+
const v = (r) => {
|
|
8
|
+
var n, l;
|
|
9
|
+
const e = P();
|
|
10
|
+
k(e);
|
|
11
|
+
const {
|
|
12
|
+
description: u,
|
|
13
|
+
groupBy: o,
|
|
14
|
+
measure: s,
|
|
15
|
+
reverseYAxis: d,
|
|
16
|
+
showLegend: c,
|
|
17
|
+
showLogarithmicScale: h,
|
|
18
|
+
showTooltips: x,
|
|
19
|
+
showTotalLabels: p,
|
|
20
|
+
showValueLabels: g,
|
|
21
|
+
title: b,
|
|
22
|
+
yAxis: t,
|
|
23
|
+
xAxisLabel: f,
|
|
24
|
+
yAxisLabel: C,
|
|
25
|
+
xAxisRangeMax: A,
|
|
26
|
+
xAxisRangeMin: B,
|
|
27
|
+
onBarClicked: S
|
|
28
|
+
} = w(r), a = _({
|
|
29
|
+
results: r.results,
|
|
30
|
+
dimension: r.yAxis
|
|
31
|
+
}), i = M(
|
|
32
|
+
{
|
|
33
|
+
data: a.data,
|
|
34
|
+
dimension: t,
|
|
35
|
+
groupDimension: o,
|
|
36
|
+
measure: s
|
|
37
|
+
},
|
|
38
|
+
e
|
|
39
|
+
), j = y(
|
|
40
|
+
T(
|
|
41
|
+
{ measures: [s], horizontal: !0, onBarClicked: S, data: i, dimension: t },
|
|
42
|
+
e
|
|
43
|
+
),
|
|
44
|
+
((l = (n = e.charts) == null ? void 0 : n.barChartStackedHorizontalPro) == null ? void 0 : l.options) || {}
|
|
45
|
+
);
|
|
46
|
+
return /* @__PURE__ */ m.jsx(
|
|
47
|
+
z,
|
|
48
|
+
{
|
|
49
|
+
data: a,
|
|
50
|
+
dimensionsAndMeasures: [s, t, o],
|
|
51
|
+
errorMessage: a.error,
|
|
52
|
+
subtitle: u,
|
|
53
|
+
title: b,
|
|
54
|
+
children: /* @__PURE__ */ m.jsx(
|
|
55
|
+
L,
|
|
56
|
+
{
|
|
57
|
+
data: i,
|
|
58
|
+
showLegend: c,
|
|
59
|
+
showTooltips: x,
|
|
60
|
+
showValueLabels: g,
|
|
61
|
+
showLogarithmicScale: h,
|
|
62
|
+
xAxisLabel: f,
|
|
63
|
+
yAxisLabel: C,
|
|
64
|
+
reverseYAxis: d,
|
|
65
|
+
xAxisRangeMin: B,
|
|
66
|
+
xAxisRangeMax: A,
|
|
67
|
+
showTotalLabels: p,
|
|
68
|
+
options: j,
|
|
69
|
+
stacked: !0,
|
|
70
|
+
horizontal: !0
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
}, G = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
76
|
+
__proto__: null,
|
|
77
|
+
default: v
|
|
78
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
79
|
+
export {
|
|
80
|
+
v as B,
|
|
81
|
+
G as i
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=index-B-x3eR8s.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-B-x3eR8s.js","sources":["../src/components/charts/bars/BarChartStackedHorizontalPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype BarChartHorizontalStackedProProps = {\n description: string;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseYAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showTotalLabels?: boolean;\n showValueLabels: boolean;\n title: string;\n yAxis: Dimension;\n xAxisLabel: string;\n yAxisLabel: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n onBarClicked: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n};\n\nconst BarChartHorizontalStackedPro = (props: BarChartHorizontalStackedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n title,\n yAxis,\n xAxisLabel,\n yAxisLabel,\n xAxisRangeMax,\n xAxisRangeMin,\n onBarClicked,\n } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: true, onBarClicked, data, dimension: yAxis },\n theme,\n ),\n theme.charts?.barChartStackedHorizontalPro?.options || {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n stacked\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartHorizontalStackedPro;\n"],"names":["BarChartHorizontalStackedPro","props","theme","useTheme","i18nSetup","description","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","title","yAxis","xAxisLabel","yAxisLabel","xAxisRangeMax","xAxisRangeMin","onBarClicked","resolveI18nProps","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","jsx","ChartCard","BarChart"],"mappings":";;;;;;AAkCA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAiBpB,CAAK,GAEpBqB,IAAUC,EAAY;AAAA,IAC1B,SAAStB,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKuB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWP;AAAA,MACX,gBAAgBT;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFL;AAAA,EAAA,GAGIwB,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACrB,CAAO,GAAG,YAAY,IAAM,cAAAa,GAAc,MAAAI,GAAM,WAAWT,EAAA;AAAA,MACxEb;AAAA,IAAA;AAAA,MAEF2B,KAAAC,IAAA5B,EAAM,WAAN,gBAAA4B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC;AAG1D,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,uBAAuB,CAACf,GAASQ,GAAOT,CAAO;AAAA,MAC/C,cAAcgB,EAAQ;AAAA,MACtB,UAAUjB;AAAA,MACV,OAAAS;AAAA,MAEA,UAAAiB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAT;AAAA,UACA,YAAAf;AAAA,UACA,cAAAE;AAAA,UACA,iBAAAE;AAAA,UACA,sBAAAH;AAAA,UACA,YAAAM;AAAA,UACA,YAAAC;AAAA,UACA,cAAAT;AAAA,UACA,eAAAW;AAAA,UACA,eAAAD;AAAA,UACA,iBAAAN;AAAA,UACA,SAAAc;AAAA,UACA,SAAO;AAAA,UACP,YAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IACZ;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { m as L, j as m, B as P } from "./index-CK9V-wz1.js";
|
|
2
|
+
import { useTheme as w } from "@embeddable.com/react";
|
|
3
|
+
import { a as z, r as M } from "./component.constants-Dhb2rtRh.js";
|
|
4
|
+
import { C as S } from "./ChartCard-hWESZ2Ps.js";
|
|
5
|
+
import { g as T, b as _ } from "./bars.utils-wDaeYsgx.js";
|
|
6
|
+
import { u as v } from "./charts.fillGaps.hooks-YayOXVmt.js";
|
|
7
|
+
const G = (r) => {
|
|
8
|
+
var n, l;
|
|
9
|
+
const e = w();
|
|
10
|
+
z(e);
|
|
11
|
+
const {
|
|
12
|
+
description: u,
|
|
13
|
+
groupBy: t,
|
|
14
|
+
measure: o,
|
|
15
|
+
reverseYAxis: d,
|
|
16
|
+
showLegend: h,
|
|
17
|
+
showLogarithmicScale: p,
|
|
18
|
+
showTooltips: c,
|
|
19
|
+
showTotalLabels: x,
|
|
20
|
+
showValueLabels: g,
|
|
21
|
+
title: b,
|
|
22
|
+
yAxis: s,
|
|
23
|
+
xAxisLabel: f,
|
|
24
|
+
yAxisLabel: C,
|
|
25
|
+
xAxisRangeMax: A,
|
|
26
|
+
xAxisRangeMin: B,
|
|
27
|
+
onBarClicked: j
|
|
28
|
+
} = M(r), a = v({
|
|
29
|
+
results: r.results,
|
|
30
|
+
dimension: r.yAxis
|
|
31
|
+
}), i = T(
|
|
32
|
+
{
|
|
33
|
+
data: a.data,
|
|
34
|
+
dimension: s,
|
|
35
|
+
groupDimension: t,
|
|
36
|
+
measure: o
|
|
37
|
+
},
|
|
38
|
+
e
|
|
39
|
+
), y = L(
|
|
40
|
+
_(
|
|
41
|
+
{ measures: [o], horizontal: !0, onBarClicked: j, data: i, dimension: s },
|
|
42
|
+
e
|
|
43
|
+
),
|
|
44
|
+
((l = (n = e.charts) == null ? void 0 : n.barChartGroupedHorizontalPro) == null ? void 0 : l.options) || {}
|
|
45
|
+
);
|
|
46
|
+
return /* @__PURE__ */ m.jsx(
|
|
47
|
+
S,
|
|
48
|
+
{
|
|
49
|
+
data: a,
|
|
50
|
+
dimensionsAndMeasures: [o, s, t],
|
|
51
|
+
errorMessage: a.error,
|
|
52
|
+
subtitle: u,
|
|
53
|
+
title: b,
|
|
54
|
+
children: /* @__PURE__ */ m.jsx(
|
|
55
|
+
P,
|
|
56
|
+
{
|
|
57
|
+
data: i,
|
|
58
|
+
showLegend: h,
|
|
59
|
+
showTooltips: c,
|
|
60
|
+
showValueLabels: g,
|
|
61
|
+
showLogarithmicScale: p,
|
|
62
|
+
xAxisLabel: f,
|
|
63
|
+
yAxisLabel: C,
|
|
64
|
+
reverseYAxis: d,
|
|
65
|
+
xAxisRangeMin: B,
|
|
66
|
+
xAxisRangeMax: A,
|
|
67
|
+
showTotalLabels: x,
|
|
68
|
+
options: y,
|
|
69
|
+
horizontal: !0
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
}, F = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
75
|
+
__proto__: null,
|
|
76
|
+
default: G
|
|
77
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
78
|
+
export {
|
|
79
|
+
G as B,
|
|
80
|
+
F as i
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=index-B2-si8wa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-B2-si8wa.js","sources":["../src/components/charts/bars/BarChartGroupedHorizontalPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype BarChartGroupedHorizontalProProps = {\n description: string;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseYAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showTotalLabels?: boolean;\n showValueLabels: boolean;\n title: string;\n yAxis: Dimension;\n xAxisLabel: string;\n yAxisLabel: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n onBarClicked: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n};\n\nconst BarChartGroupedHorizontalPro = (props: BarChartGroupedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n title,\n yAxis,\n xAxisLabel,\n yAxisLabel,\n xAxisRangeMax,\n xAxisRangeMin,\n onBarClicked,\n } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: true, onBarClicked, data, dimension: yAxis },\n theme,\n ),\n theme.charts?.barChartGroupedHorizontalPro?.options || {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedHorizontalPro;\n"],"names":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","description","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","title","yAxis","xAxisLabel","yAxisLabel","xAxisRangeMax","xAxisRangeMin","onBarClicked","resolveI18nProps","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","jsx","ChartCard","BarChart"],"mappings":";;;;;;AAkCA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAiBpB,CAAK,GAEpBqB,IAAUC,EAAY;AAAA,IAC1B,SAAStB,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKuB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWP;AAAA,MACX,gBAAgBT;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFL;AAAA,EAAA,GAGIwB,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACrB,CAAO,GAAG,YAAY,IAAM,cAAAa,GAAc,MAAAI,GAAM,WAAWT,EAAA;AAAA,MACxEb;AAAA,IAAA;AAAA,MAEF2B,KAAAC,IAAA5B,EAAM,WAAN,gBAAA4B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC;AAG1D,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,uBAAuB,CAACf,GAASQ,GAAOT,CAAO;AAAA,MAC/C,cAAcgB,EAAQ;AAAA,MACtB,UAAUjB;AAAA,MACV,OAAAS;AAAA,MAEA,UAAAiB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAT;AAAA,UACA,YAAAf;AAAA,UACA,cAAAE;AAAA,UACA,iBAAAE;AAAA,UACA,sBAAAH;AAAA,UACA,YAAAM;AAAA,UACA,YAAAC;AAAA,UACA,cAAAT;AAAA,UACA,eAAAW;AAAA,UACA,eAAAD;AAAA,UACA,iBAAAN;AAAA,UACA,SAAAc;AAAA,UACA,YAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IACZ;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { s as R, j as d, S as b } from "./index-
|
|
1
|
+
import { s as R, j as d, S as b } from "./index-CK9V-wz1.js";
|
|
2
2
|
import { useTheme as O } from "@embeddable.com/react";
|
|
3
3
|
import { g as j, u as y } from "./editors.timeRange.utils-DTtRGaCo.js";
|
|
4
|
-
import { $ as C, r as x, i as F } from "./component.constants-
|
|
5
|
-
import { E as T } from "./EditorCard-
|
|
4
|
+
import { $ as C, r as x, i as F } from "./component.constants-Dhb2rtRh.js";
|
|
5
|
+
import { E as T } from "./EditorCard-BZ9OPW3m.js";
|
|
6
6
|
import { useState as _, useEffect as c } from "react";
|
|
7
7
|
/**
|
|
8
8
|
* @license @tabler/icons-react v3.35.0 - MIT
|
|
@@ -10,23 +10,23 @@ import { useState as _, useEffect as c } from "react";
|
|
|
10
10
|
* This source code is licensed under the MIT license.
|
|
11
11
|
* See the LICENSE file in the root directory of this source tree.
|
|
12
12
|
*/
|
|
13
|
-
const I = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z", key: "svg-0" }], ["path", { d: "M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z", key: "svg-1" }]], L = R("filled", "calendar-filled", "CalendarFilled", I), z = (l) => l.map((
|
|
14
|
-
rightLabel: j(
|
|
15
|
-
value:
|
|
16
|
-
label: C(
|
|
13
|
+
const I = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z", key: "svg-0" }], ["path", { d: "M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z", key: "svg-1" }]], L = R("filled", "calendar-filled", "CalendarFilled", I), z = (l) => l.map((t) => ({
|
|
14
|
+
rightLabel: j(t.getRange(), t.dateFormat),
|
|
15
|
+
value: t.value,
|
|
16
|
+
label: C(t.label)
|
|
17
17
|
})), D = (l) => {
|
|
18
|
-
const
|
|
18
|
+
const t = O(), { dayjsLocaleReady: v } = y(), { selectedValue: e, clearable: m, onChange: g } = l, [o, i] = _(
|
|
19
19
|
e == null ? void 0 : e.relativeTimeString
|
|
20
|
-
), n =
|
|
20
|
+
), n = t.defaults.dateRangesOptions, r = e == null ? void 0 : e.relativeTimeString;
|
|
21
21
|
if (c(() => {
|
|
22
22
|
if (!r) return;
|
|
23
|
-
const
|
|
23
|
+
const a = n.find(
|
|
24
24
|
(s) => s.value === r
|
|
25
25
|
);
|
|
26
|
-
i(
|
|
26
|
+
i(a ? a.value : void 0);
|
|
27
27
|
}, [r, n]), c(() => {
|
|
28
28
|
if (!e && !o) return;
|
|
29
|
-
const
|
|
29
|
+
const a = n.find((S) => S.value === o), s = a ? a.getRange() : void 0;
|
|
30
30
|
g(s);
|
|
31
31
|
}, [o, n]), c(() => {
|
|
32
32
|
e || i(void 0);
|
|
@@ -40,7 +40,7 @@ const I = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.99
|
|
|
40
40
|
clearable: m,
|
|
41
41
|
placeholder: f,
|
|
42
42
|
value: o,
|
|
43
|
-
onChange: (
|
|
43
|
+
onChange: (a) => i(a || void 0),
|
|
44
44
|
options: h,
|
|
45
45
|
noOptionsMessage: F.t("common.noOptionsAvailable")
|
|
46
46
|
}
|
|
@@ -51,6 +51,7 @@ const I = [["path", { d: "M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.99
|
|
|
51
51
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
52
52
|
export {
|
|
53
53
|
D,
|
|
54
|
+
z as g,
|
|
54
55
|
N as i
|
|
55
56
|
};
|
|
56
|
-
//# sourceMappingURL=index-
|
|
57
|
+
//# sourceMappingURL=index-B7H0xf_l.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-B7H0xf_l.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarFilled.mjs","../src/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils.ts","../src/components/editors/DateRangeSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M16 2a1 1 0 0 1 .993 .883l.007 .117v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 1.993 -.117l.007 .117v1h6v-1a1 1 0 0 1 1 -1zm3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16v-9.625z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 12a1 1 0 0 1 .993 .883l.007 .117v3a1 1 0 0 1 -1.993 .117l-.007 -.117v-2a1 1 0 0 1 -.117 -1.993l.117 -.007h1z\", \"key\": \"svg-1\" }]];\nconst IconCalendarFilled = createReactComponent(\"filled\", \"calendar-filled\", \"CalendarFilled\", __iconNode);\n\nexport { __iconNode, IconCalendarFilled as default };\n//# sourceMappingURL=IconCalendarFilled.mjs.map\n","import { DateRangeSelectFieldProOption } from './DateRangeSelectFieldPro.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { getTimeRangeLabel } from '../editors.timeRange.utils';\nimport { resolveI18nString } from '../../component.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangeSelectFieldPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled } from '@tabler/icons-react';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\n\ntype DateRangeSelectFieldProProps = {\n description?: string;\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue: TimeRange;\n title?: string;\n clearable?: boolean;\n};\n\nconst DateRangeSelectFieldPro = (props: DateRangeSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n const { selectedValue, clearable, onChange } = props;\n const [internalValue, setInternalValue] = useState<string | undefined>(\n selectedValue?.relativeTimeString,\n );\n\n // When updation the selectedValue in the builder, the defined value value can:\n // 1. exist in the options: relativeTimeString converted into TimeRange and onChange is called with the TimeRange\n // 2. not exist in the options: onChange is called with undefined (resets)\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n const selectedValueRelativeTimeString = selectedValue?.relativeTimeString;\n\n useEffect(() => {\n if (!selectedValueRelativeTimeString) return;\n\n const matchedOption = dateRangeOptions.find(\n (option) => option.value === selectedValueRelativeTimeString,\n );\n\n setInternalValue(matchedOption ? matchedOption.value : undefined);\n }, [selectedValueRelativeTimeString, dateRangeOptions]);\n\n useEffect(() => {\n if (!selectedValue && !internalValue) return;\n\n const matchedOption = dateRangeOptions.find((option) => option.value === internalValue);\n\n const newChangeValue = matchedOption ? matchedOption.getRange() : undefined;\n\n onChange(newChangeValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [internalValue, dateRangeOptions]);\n\n useEffect(() => {\n if (!selectedValue) {\n setInternalValue(undefined);\n }\n }, [selectedValue]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarFilled}\n clearable={clearable}\n placeholder={placeholder}\n value={internalValue}\n onChange={(value) => setInternalValue(value || undefined)}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n />\n </EditorCard>\n );\n};\n\nexport default DateRangeSelectFieldPro;\n"],"names":["__iconNode","IconCalendarFilled","createReactComponent","getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangeSelectFieldPro","props","theme","useTheme","dayjsLocaleReady","useLoadDayjsLocale","selectedValue","clearable","onChange","internalValue","setInternalValue","useState","dateRangeOptions","selectedValueRelativeTimeString","useEffect","matchedOption","newChangeValue","description","placeholder","title","resolveI18nProps","options","jsx","EditorCard","SingleSelectField","value","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,iWAAiW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,oHAAoH,KAAO,QAAO,CAAE,CAAC,GACviBC,IAAqBC,EAAqB,UAAU,mBAAmB,kBAAkBF,CAAU,GCL5FG,IAAoC,CAC/CC,MAEOA,EAA+B,IAAI,CAACC,OAClC;AAAA,EACL,YAAYC,EAAkBD,EAAO,SAAA,GAAYA,EAAO,UAAU;AAAA,EAClE,OAAOA,EAAO;AAAA,EACd,OAAOE,EAAkBF,EAAO,KAAK;AAAA,EAExC,GCOGG,IAA0B,CAACC,MAAwC;AACvE,QAAMC,IAAeC,EAAA,GACf,EAAE,kBAAAC,EAAA,IAAqBC,EAAA,GAEvB,EAAE,eAAAC,GAAe,WAAAC,GAAW,UAAAC,EAAA,IAAaP,GACzC,CAACQ,GAAeC,CAAgB,IAAIC;AAAA,IACxCL,KAAA,gBAAAA,EAAe;AAAA,EAAA,GAOXM,IAAmBV,EAAM,SAAS,mBAElCW,IAAkCP,KAAA,gBAAAA,EAAe;AA6BvD,MA3BAQ,EAAU,MAAM;AACd,QAAI,CAACD,EAAiC;AAEtC,UAAME,IAAgBH,EAAiB;AAAA,MACrC,CAACf,MAAWA,EAAO,UAAUgB;AAAA,IAAA;AAG/B,IAAAH,EAAiBK,IAAgBA,EAAc,QAAQ,MAAS;AAAA,EAClE,GAAG,CAACF,GAAiCD,CAAgB,CAAC,GAEtDE,EAAU,MAAM;AACd,QAAI,CAACR,KAAiB,CAACG,EAAe;AAEtC,UAAMM,IAAgBH,EAAiB,KAAK,CAACf,MAAWA,EAAO,UAAUY,CAAa,GAEhFO,IAAiBD,IAAgBA,EAAc,SAAA,IAAa;AAElE,IAAAP,EAASQ,CAAc;AAAA,EAEzB,GAAG,CAACP,GAAeG,CAAgB,CAAC,GAEpCE,EAAU,MAAM;AACd,IAAKR,KACHI,EAAiB,MAAS;AAAA,EAE9B,GAAG,CAACJ,CAAa,CAAC,GAEd,CAACF;AACH,WAAO;AAGT,QAAM,EAAE,aAAAa,GAAa,aAAAC,GAAa,OAAAC,EAAA,IAAUC,EAAiBnB,CAAK,GAE5DoB,IAAU1B,EAAkCiB,CAAgB;AAElE,SACEU,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAJ,GAAc,UAAUF,GAClC,UAAAK,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAW/B;AAAA,MACX,WAAAc;AAAA,MACA,aAAAW;AAAA,MACA,OAAOT;AAAA,MACP,UAAU,CAACgB,MAAUf,EAAiBe,KAAS,MAAS;AAAA,MACxD,SAAAJ;AAAA,MACA,kBAAkBK,EAAK,EAAE,2BAA2B;AAAA,IAAA;AAAA,EAAA,GAExD;AAEJ;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { a as j, m as P, j as w, L as S } from "./index-CK9V-wz1.js";
|
|
2
|
+
import { useTheme as y } from "@embeddable.com/react";
|
|
3
|
+
import { a as G, r as O } from "./component.constants-Dhb2rtRh.js";
|
|
4
|
+
import { C as v } from "./ChartCard-hWESZ2Ps.js";
|
|
5
|
+
import { g as $ } from "./formatter.utils-Bdp9Y-Lv.js";
|
|
6
|
+
import { g as R, a as M } from "./object.utils-D_Zzon-H.js";
|
|
7
|
+
import { s as F } from "./color.utils-BSg_DFOh.js";
|
|
8
|
+
import { g as T } from "./lines.utils-CFEUUo4k.js";
|
|
9
|
+
import { u as _ } from "./charts.fillGaps.hooks-YayOXVmt.js";
|
|
10
|
+
const D = (l, s) => {
|
|
11
|
+
const u = $(s), { data: r = [], dimension: i, groupDimension: n, measure: e, hasMinMaxYAxisRange: m } = l, c = [...new Set(r.map((t) => t[i.name]).filter((t) => t != null))].sort(), d = [...new Set(r.map((t) => t[n.name]))].filter((t) => t != null), a = R(s), o = j(), p = d.map((t, b) => {
|
|
12
|
+
var C;
|
|
13
|
+
const g = M(
|
|
14
|
+
`${a}.charts.backgroundColors`,
|
|
15
|
+
`${n.name}.${t}`,
|
|
16
|
+
s.charts.backgroundColors ?? o,
|
|
17
|
+
b
|
|
18
|
+
), x = M(
|
|
19
|
+
`${a}.charts.borderColors`,
|
|
20
|
+
`${n.name}.${t}`,
|
|
21
|
+
s.charts.borderColors ?? o,
|
|
22
|
+
b
|
|
23
|
+
);
|
|
24
|
+
return {
|
|
25
|
+
clip: m,
|
|
26
|
+
label: u.data(n, t),
|
|
27
|
+
rawLabel: t,
|
|
28
|
+
backgroundColor: F(g, 0.5),
|
|
29
|
+
pointBackgroundColor: g,
|
|
30
|
+
fill: (C = e.inputs) == null ? void 0 : C.fillUnderLine,
|
|
31
|
+
borderColor: x,
|
|
32
|
+
data: c.map((f) => {
|
|
33
|
+
var k;
|
|
34
|
+
const L = r.find(
|
|
35
|
+
(A) => A[n.name] === t && A[i.name] === f
|
|
36
|
+
);
|
|
37
|
+
return (L == null ? void 0 : L[e.name]) ?? ((k = e.inputs) != null && k.connectGaps ? 0 : null);
|
|
38
|
+
})
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
labels: c,
|
|
43
|
+
datasets: p
|
|
44
|
+
};
|
|
45
|
+
}, K = (l, s) => {
|
|
46
|
+
var c, d;
|
|
47
|
+
const { dimension: u, data: r, measure: i, onLineClicked: n } = l, e = $(s), m = {
|
|
48
|
+
plugins: {
|
|
49
|
+
datalabels: {
|
|
50
|
+
labels: {
|
|
51
|
+
value: {
|
|
52
|
+
formatter: (a) => e.data(i, a)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
tooltip: {
|
|
57
|
+
callbacks: {
|
|
58
|
+
title: (a) => {
|
|
59
|
+
var p;
|
|
60
|
+
const o = (p = a[0]) == null ? void 0 : p.label;
|
|
61
|
+
return e.data(u, o);
|
|
62
|
+
},
|
|
63
|
+
label: (a) => {
|
|
64
|
+
const o = a.raw;
|
|
65
|
+
return `${a.dataset.label}: ${e.data(i, o)}`;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
scales: {
|
|
71
|
+
x: {
|
|
72
|
+
ticks: {
|
|
73
|
+
callback: (a) => {
|
|
74
|
+
if (!r || !r.labels) return;
|
|
75
|
+
const o = r.labels[Number(a)];
|
|
76
|
+
return e.data(u, o);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
y: {
|
|
81
|
+
ticks: {
|
|
82
|
+
callback: (a) => e.data(i, a)
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
return P(
|
|
88
|
+
T({ onLineClicked: n }),
|
|
89
|
+
m,
|
|
90
|
+
((d = (c = s.charts) == null ? void 0 : c.lineChartGroupedPro) == null ? void 0 : d.options) || {}
|
|
91
|
+
);
|
|
92
|
+
}, Y = (l) => {
|
|
93
|
+
const s = y();
|
|
94
|
+
G(s);
|
|
95
|
+
const { title: u, description: r, xAxisLabel: i, yAxisLabel: n } = O(l), {
|
|
96
|
+
measure: e,
|
|
97
|
+
xAxis: m,
|
|
98
|
+
groupBy: c,
|
|
99
|
+
reverseXAxis: d,
|
|
100
|
+
showLegend: a,
|
|
101
|
+
showLogarithmicScale: o,
|
|
102
|
+
showTooltips: p,
|
|
103
|
+
showValueLabels: t,
|
|
104
|
+
yAxisRangeMax: b,
|
|
105
|
+
yAxisRangeMin: g,
|
|
106
|
+
onLineClicked: x
|
|
107
|
+
} = l, h = _({
|
|
108
|
+
results: l.results,
|
|
109
|
+
dimension: l.xAxis
|
|
110
|
+
}), C = D(
|
|
111
|
+
{
|
|
112
|
+
data: h.data,
|
|
113
|
+
dimension: m,
|
|
114
|
+
groupDimension: c,
|
|
115
|
+
measure: e,
|
|
116
|
+
hasMinMaxYAxisRange: g != null || b != null
|
|
117
|
+
},
|
|
118
|
+
s
|
|
119
|
+
), f = K(
|
|
120
|
+
{ data: C, dimension: m, measure: e, onLineClicked: x },
|
|
121
|
+
s
|
|
122
|
+
);
|
|
123
|
+
return /* @__PURE__ */ w.jsx(
|
|
124
|
+
v,
|
|
125
|
+
{
|
|
126
|
+
data: h,
|
|
127
|
+
dimensionsAndMeasures: [e, m, c],
|
|
128
|
+
errorMessage: h.error,
|
|
129
|
+
subtitle: r,
|
|
130
|
+
title: u,
|
|
131
|
+
children: /* @__PURE__ */ w.jsx(
|
|
132
|
+
S,
|
|
133
|
+
{
|
|
134
|
+
data: C,
|
|
135
|
+
reverseXAxis: d,
|
|
136
|
+
showLegend: a,
|
|
137
|
+
showLogarithmicScale: o,
|
|
138
|
+
showTooltips: p,
|
|
139
|
+
showValueLabels: t,
|
|
140
|
+
xAxisLabel: i,
|
|
141
|
+
yAxisLabel: n,
|
|
142
|
+
yAxisRangeMax: b,
|
|
143
|
+
yAxisRangeMin: g,
|
|
144
|
+
options: f
|
|
145
|
+
}
|
|
146
|
+
)
|
|
147
|
+
}
|
|
148
|
+
);
|
|
149
|
+
}, J = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
150
|
+
__proto__: null,
|
|
151
|
+
default: Y
|
|
152
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
153
|
+
export {
|
|
154
|
+
Y as L,
|
|
155
|
+
K as a,
|
|
156
|
+
D as g,
|
|
157
|
+
J as i
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=index-BPkkRwcA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BPkkRwcA.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { mergician } from 'mergician';\nimport { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getChartContrastColors } from '@embeddable.com/remarkable-ui';\nimport { getLineChartProOptions, LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const themeKey = getObjectStableKey(theme);\n const chartContrastColors = getChartContrastColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getColor(\n `${themeKey}.charts.backgroundColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = getColor(\n `${themeKey}.charts.borderColors`,\n `${groupDimension.name}.${groupByItem}`,\n theme.charts.borderColors ?? chartContrastColors,\n index,\n );\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptions({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\ntype LineChartGroupedProProp = {\n description: string;\n xAxis: Dimension;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showValueLabels: boolean;\n title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst LineChartGroupedPro = (props: LineChartGroupedProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\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 />\n </ChartCard>\n );\n};\n\nexport default LineChartGroupedPro;\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","themeKey","getObjectStableKey","chartContrastColors","getChartContrastColors","datasets","groupByItem","index","backgroundColor","getColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptions","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart"],"mappings":"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"}
|