oolib 2.197.5 → 2.198.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/stories/v2/components/{BarChart.stories.d.ts → visualization/BarChart.stories.d.ts} +1 -1
- package/dist/stories/v2/components/{BarChart.stories.js → visualization/BarChart.stories.js} +5 -7
- package/dist/stories/v2/components/{BarGraphCollection.stories.d.ts → visualization/BarGraphCollection.stories.d.ts} +1 -1
- package/dist/stories/v2/components/{BarGraphCollection.stories.js → visualization/BarGraphCollection.stories.js} +6 -6
- package/dist/stories/v2/components/{HeatMapGrid.stories.d.ts → visualization/HeatMapGrid.stories.d.ts} +1 -1
- package/dist/stories/v2/components/visualization/HeatMapGrid.stories.js +122 -0
- package/dist/stories/v2/components/{PieChart.stories.d.ts → visualization/PieChart.stories.d.ts} +1 -1
- package/dist/stories/v2/components/{PieChart.stories.js → visualization/PieChart.stories.js} +20 -17
- package/dist/stories/v2/components/visualization/configs/props1.d.ts +102 -0
- package/dist/stories/v2/components/visualization/configs/props1.js +70 -0
- package/dist/stories/v2/components/visualization/configs/props2.d.ts +45 -0
- package/dist/stories/v2/components/{HeatMapGrid.stories.js → visualization/configs/props2.js} +3 -111
- package/dist/stories/v2/components/visualization/vizPlayground.stories.d.ts +7 -0
- package/dist/stories/v2/components/visualization/vizPlayground.stories.js +55 -0
- package/dist/v2/components/DataVizAccordion/index.js +1 -1
- package/dist/v2/components/dataviz/BarChart/index.d.ts +6 -0
- package/dist/v2/components/dataviz/BarChart/index.js +3 -2
- package/dist/v2/components/dataviz/HeatMapGrid/index.js +13 -12
- package/dist/v2/components/dataviz/PieChart/index.d.ts +21 -0
- package/dist/v2/components/dataviz/PieChart/index.js +177 -0
- package/package.json +1 -1
- package/dist/v2/components/PieChart/index.d.ts +0 -13
- package/dist/v2/components/PieChart/index.js +0 -126
package/dist/stories/v2/components/{BarChart.stories.js → visualization/BarChart.stories.js}
RENAMED
|
@@ -3,14 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports._BarChart = void 0;
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var BarChart_1 = require("../../../v2/components/dataviz/BarChart");
|
|
9
8
|
var BarChart_mdx_1 = __importDefault(require("./BarChart.mdx"));
|
|
10
|
-
var
|
|
11
|
-
var BarGraphCollection_1 = require("../../../v2/components/dataviz/BarGraphCollection");
|
|
9
|
+
var BarChart_1 = require("../../../../v2/components/dataviz/BarChart");
|
|
12
10
|
exports.default = {
|
|
13
|
-
title: "Oolib V 2.0/
|
|
11
|
+
title: "Oolib V 2.0/Visualization/BarChart",
|
|
14
12
|
argTypes: {
|
|
15
13
|
showPercent: {
|
|
16
14
|
control: 'boolean',
|
|
@@ -34,7 +32,7 @@ var data = [
|
|
|
34
32
|
{ display: "Created Profile", stack1: 20, stack2: 5, stack3: 10, stack4: 15 },
|
|
35
33
|
{ display: "Wrote at least 1 story", stack1: 8, stack2: 2 },
|
|
36
34
|
];
|
|
37
|
-
var
|
|
35
|
+
var _BarChart = function (args) {
|
|
38
36
|
var colors = ["#5C80FF", "#FFA800", "#00BC8F", "#5C51CE"];
|
|
39
37
|
var handleBarClick = function (name) {
|
|
40
38
|
console.log("Bar clicked: ".concat(name));
|
|
@@ -250,4 +248,4 @@ var BarChart = function (args) {
|
|
|
250
248
|
// valuePath="stack1"
|
|
251
249
|
breakdownDisplayType: "stacked", labelPath: "display", title: "This is a Stacked BarChart", onClick: handleBarClick, showPercent: args.showPercent, colorIdx: 2 }))));
|
|
252
250
|
};
|
|
253
|
-
exports.
|
|
251
|
+
exports._BarChart = _BarChart;
|
|
@@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports._BarGraphCollection_ = void 0;
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var Container_1 = require("
|
|
9
|
-
var BarGraphCollection_1 = require("
|
|
8
|
+
var Container_1 = require("../../../../components/Container");
|
|
9
|
+
var BarGraphCollection_1 = require("../../../../v2/components/dataviz/BarGraphCollection");
|
|
10
10
|
exports.default = {
|
|
11
|
-
title: "Oolib V 2.0/
|
|
11
|
+
title: "Oolib V 2.0/visualization/BarGraphCollection",
|
|
12
12
|
argTypes: {
|
|
13
13
|
showPercent: {
|
|
14
14
|
name: "Show Percent",
|
|
@@ -23,7 +23,7 @@ exports.default = {
|
|
|
23
23
|
// showCount: true,
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
-
var
|
|
26
|
+
var _BarGraphCollection_ = function (args) {
|
|
27
27
|
var data = [
|
|
28
28
|
{ display: "Tool- Ticker Tape", value: 5, category: "subject" },
|
|
29
29
|
{ display: "CCP Session", value: 3, category: "subject" },
|
|
@@ -1187,4 +1187,4 @@ var BarGraphCollection_ = function (args) {
|
|
|
1187
1187
|
"groupBy": "category",
|
|
1188
1188
|
"totalDataCount": 209, debug: args.debug })));
|
|
1189
1189
|
};
|
|
1190
|
-
exports.
|
|
1190
|
+
exports._BarGraphCollection_ = _BarGraphCollection_;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports._HeatMapGrid = void 0;
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var HeatMapGrid_1 = require("../../../../v2/components/dataviz/HeatMapGrid");
|
|
20
|
+
var props2_1 = require("./configs/props2");
|
|
21
|
+
exports.default = {
|
|
22
|
+
title: "Oolib V 2.0/visualization/HeatMapGrid",
|
|
23
|
+
argTypes: {
|
|
24
|
+
showPercent: {
|
|
25
|
+
control: 'boolean',
|
|
26
|
+
description: 'Toggle percentage display',
|
|
27
|
+
defaultValue: true,
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
args: {
|
|
31
|
+
showPercent: true,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
var _HeatMapGrid = function (args) {
|
|
35
|
+
var colors = ["#5C80FF", "#FFA800", "#00BC8F", "#5C51CE"];
|
|
36
|
+
var handleCellClick = function (name) {
|
|
37
|
+
console.log("cell clicked: ".concat(name));
|
|
38
|
+
};
|
|
39
|
+
return (react_1.default.createElement("div", { style: { display: "grid", gridTemplateColumns: "1fr 1fr", gap: "20px", padding: '20px' } },
|
|
40
|
+
react_1.default.createElement("div", { style: { border: '1px solid black', padding: '10px' } },
|
|
41
|
+
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, { showPercent: args.showPercent, data: [
|
|
42
|
+
{
|
|
43
|
+
display: "Logged",
|
|
44
|
+
stack1: 60,
|
|
45
|
+
stack2: 20,
|
|
46
|
+
stack3: 40,
|
|
47
|
+
stack4: 10,
|
|
48
|
+
stack5: 40,
|
|
49
|
+
stack6: 10,
|
|
50
|
+
stack2Display: 'Labels Path Stack 2 Display'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
display: "Registered Users",
|
|
54
|
+
stack1: 100,
|
|
55
|
+
stack2: 50,
|
|
56
|
+
stack3: 10,
|
|
57
|
+
stack4: 15,
|
|
58
|
+
stack5: 40,
|
|
59
|
+
stack6: 10,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
display: "Created Profile",
|
|
63
|
+
stack1: 20,
|
|
64
|
+
stack2: 5,
|
|
65
|
+
stack3: 10,
|
|
66
|
+
stack4: 15,
|
|
67
|
+
stack5: 40,
|
|
68
|
+
stack6: 10,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
display: "Wrote at least 3 story",
|
|
72
|
+
stack1: 8,
|
|
73
|
+
stack2: 2,
|
|
74
|
+
stack3: 1,
|
|
75
|
+
stack4: 1,
|
|
76
|
+
stack5: 40,
|
|
77
|
+
stack6: 10,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
display: "Created Profile again",
|
|
81
|
+
stack1: 20,
|
|
82
|
+
stack2: 5,
|
|
83
|
+
stack3: 10,
|
|
84
|
+
stack4: 15,
|
|
85
|
+
stack5: 40,
|
|
86
|
+
stack6: 10,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
display: "Wrote at least 1 story",
|
|
90
|
+
stack1: 8,
|
|
91
|
+
stack2: 2,
|
|
92
|
+
stack3: 1,
|
|
93
|
+
stack4: 1,
|
|
94
|
+
stack5: 40,
|
|
95
|
+
stack6: 10,
|
|
96
|
+
},
|
|
97
|
+
], plotDataPoint: "percentage" // This can be changed to count
|
|
98
|
+
, valuePath: [
|
|
99
|
+
"stack1",
|
|
100
|
+
"stack2",
|
|
101
|
+
"stack3",
|
|
102
|
+
"stack4",
|
|
103
|
+
"stack5",
|
|
104
|
+
"stack6",
|
|
105
|
+
], tooltipLabelsMapping: {
|
|
106
|
+
stack1: 'Stack 1',
|
|
107
|
+
stack2: 'Stack 2',
|
|
108
|
+
stack3: 'Stack 3',
|
|
109
|
+
stack4: 'Stack 4',
|
|
110
|
+
stack5: 'Stack 5',
|
|
111
|
+
stack6: 'Stack 6',
|
|
112
|
+
},
|
|
113
|
+
// valuePath="stack1"
|
|
114
|
+
labelPath: "display", title: "This is a Heat Map Grid", onClick: handleCellClick, colorIdx: 2, style: { height: "300px" } })),
|
|
115
|
+
react_1.default.createElement("div", { style: { border: '1px solid black', padding: '10px' } },
|
|
116
|
+
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, __assign({}, props2_1.heatMapGridProps, { style: { height: "300px" } }))),
|
|
117
|
+
react_1.default.createElement("div", { style: { border: '1px solid black', padding: '10px' } },
|
|
118
|
+
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, __assign({}, props2_1.heatMapGridProps, { style: { height: "300px" } }))),
|
|
119
|
+
react_1.default.createElement("div", { style: { border: '1px solid black', padding: '10px' } },
|
|
120
|
+
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, __assign({}, props2_1.heaMapGridProps2, { style: { height: "300px" } })))));
|
|
121
|
+
};
|
|
122
|
+
exports._HeatMapGrid = _HeatMapGrid;
|
package/dist/stories/v2/components/{PieChart.stories.js → visualization/PieChart.stories.js}
RENAMED
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
5
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
17
|
+
exports._PieChart = void 0;
|
|
7
18
|
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var PieChart_1 = require("
|
|
19
|
+
var PieChart_1 = require("../../../../v2/components/dataviz/PieChart");
|
|
20
|
+
var props1_1 = require("./configs/props1");
|
|
9
21
|
// import BarChartDocs from './BarChart.mdx'
|
|
10
22
|
exports.default = {
|
|
11
|
-
title: "Oolib V 2.0/
|
|
23
|
+
title: "Oolib V 2.0/Visualization/PieChart",
|
|
12
24
|
// argTypes: {
|
|
13
25
|
// HeaderStyle: {
|
|
14
26
|
// options: ["HeaderStyle1", "HeaderStyle2", "HeaderStyle3"],
|
|
@@ -55,22 +67,13 @@ var data = [
|
|
|
55
67
|
{ display: 'Created Profile', stack1: 20, stack2: 5, stack3: 10, stack4: 15 },
|
|
56
68
|
{ display: 'Wrote at least 1 story', stack1: 8, stack2: 2 }
|
|
57
69
|
];
|
|
58
|
-
var
|
|
70
|
+
var _PieChart = function (args) {
|
|
59
71
|
var colors = ["#5C80FF", "#FFA800", "#00BC8F", "#5C51CE"];
|
|
60
72
|
var handleBarClick = function (name) {
|
|
61
73
|
console.log("Bar clicked: ".concat(name));
|
|
62
74
|
};
|
|
63
|
-
return (react_1.default.createElement("div", { style: { display:
|
|
64
|
-
react_1.default.createElement(
|
|
65
|
-
|
|
66
|
-
{ display: 'Registered Users', stack1: 100, stack2: 50, stack3: 10, stack4: 15, stack5: 40, stack6: 10 },
|
|
67
|
-
{ display: 'Created Profile', stack1: 20, stack2: 5, stack3: 10, stack4: 15, stack5: 40, stack6: 10 },
|
|
68
|
-
{ display: 'Wrote at least 3 story', stack1: 8, stack2: 2, stack3: 1, stack4: 1, stack5: 40, stack6: 10 },
|
|
69
|
-
{ display: 'Created Profile again', stack1: 20, stack2: 5, stack3: 10, stack4: 15, stack5: 40, stack6: 10 },
|
|
70
|
-
{ display: 'Wrote at least 1 story', stack1: 8, stack2: 2, stack3: 1, stack4: 1, stack5: 40, stack6: 10 }
|
|
71
|
-
], plotDataPoint: "percentage" // This can be changed to count
|
|
72
|
-
,
|
|
73
|
-
// valuePath={["stack1", "stack2", "stack3", "stack4", "stack5", "stack6"]}
|
|
74
|
-
valuePath: "stack1", labelPath: "display", title: "This is a Stacked BarChart", onClick: handleBarClick, showPercent: true, colorIdx: 0 })));
|
|
75
|
+
return (react_1.default.createElement("div", { style: { display: "grid", gridTemplateColumns: "1fr 1fr", gap: "20px", padding: '20px' } },
|
|
76
|
+
react_1.default.createElement("div", { style: { border: '1px solid black', padding: '10px' } },
|
|
77
|
+
react_1.default.createElement(PieChart_1.PieChart, __assign({}, props1_1.chartProps1)))));
|
|
75
78
|
};
|
|
76
|
-
exports.
|
|
79
|
+
exports._PieChart = _PieChart;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export namespace chartProps1 {
|
|
2
|
+
let overflowAfterHeight: number;
|
|
3
|
+
let data: ({
|
|
4
|
+
display: string;
|
|
5
|
+
stack1: number;
|
|
6
|
+
stack2: number;
|
|
7
|
+
stack3: number;
|
|
8
|
+
stack4: number;
|
|
9
|
+
stack5: number;
|
|
10
|
+
stack6: number;
|
|
11
|
+
stack7: number;
|
|
12
|
+
stack8: number;
|
|
13
|
+
stack9: number;
|
|
14
|
+
stack10: number;
|
|
15
|
+
stack11: number;
|
|
16
|
+
stack12: number;
|
|
17
|
+
stack13: number;
|
|
18
|
+
stack14: number;
|
|
19
|
+
stack15: number;
|
|
20
|
+
stack16: number;
|
|
21
|
+
stack17: number;
|
|
22
|
+
stack18: number;
|
|
23
|
+
stack19: number;
|
|
24
|
+
stack20: number;
|
|
25
|
+
stack2Display: string;
|
|
26
|
+
} | {
|
|
27
|
+
display: string;
|
|
28
|
+
stack1: number;
|
|
29
|
+
stack3: number;
|
|
30
|
+
stack4: number;
|
|
31
|
+
stack5: number;
|
|
32
|
+
stack6: number;
|
|
33
|
+
stack7: number;
|
|
34
|
+
stack8: number;
|
|
35
|
+
stack9: number;
|
|
36
|
+
stack10: number;
|
|
37
|
+
stack11: number;
|
|
38
|
+
stack12: number;
|
|
39
|
+
stack13: number;
|
|
40
|
+
stack14: number;
|
|
41
|
+
stack15: number;
|
|
42
|
+
stack16: number;
|
|
43
|
+
stack17: number;
|
|
44
|
+
stack18: number;
|
|
45
|
+
stack19: number;
|
|
46
|
+
stack20: number;
|
|
47
|
+
stack2?: undefined;
|
|
48
|
+
stack2Display?: undefined;
|
|
49
|
+
} | {
|
|
50
|
+
display: string;
|
|
51
|
+
stack1: number;
|
|
52
|
+
stack2: number;
|
|
53
|
+
stack3: number;
|
|
54
|
+
stack4: number;
|
|
55
|
+
stack5: number;
|
|
56
|
+
stack6: number;
|
|
57
|
+
stack7: number;
|
|
58
|
+
stack8: number;
|
|
59
|
+
stack9: number;
|
|
60
|
+
stack10: number;
|
|
61
|
+
stack11: number;
|
|
62
|
+
stack12: number;
|
|
63
|
+
stack13: number;
|
|
64
|
+
stack14: number;
|
|
65
|
+
stack15: number;
|
|
66
|
+
stack16: number;
|
|
67
|
+
stack17: number;
|
|
68
|
+
stack18: number;
|
|
69
|
+
stack19: number;
|
|
70
|
+
stack20: number;
|
|
71
|
+
stack2Display?: undefined;
|
|
72
|
+
})[];
|
|
73
|
+
let plotDataPoint: string;
|
|
74
|
+
let valuePath: string[];
|
|
75
|
+
let breakdownCategoryName: string;
|
|
76
|
+
namespace tooltipLabelsMapping {
|
|
77
|
+
let stack1: string;
|
|
78
|
+
let stack2: string;
|
|
79
|
+
let stack3: string;
|
|
80
|
+
let stack4: string;
|
|
81
|
+
let stack5: string;
|
|
82
|
+
let stack6: string;
|
|
83
|
+
let stack7: string;
|
|
84
|
+
let stack8: string;
|
|
85
|
+
let stack9: string;
|
|
86
|
+
let stack10: string;
|
|
87
|
+
let stack11: string;
|
|
88
|
+
let stack12: string;
|
|
89
|
+
let stack13: string;
|
|
90
|
+
let stack14: string;
|
|
91
|
+
let stack15: string;
|
|
92
|
+
let stack16: string;
|
|
93
|
+
let stack17: string;
|
|
94
|
+
let stack18: string;
|
|
95
|
+
let stack19: string;
|
|
96
|
+
let stack20: string;
|
|
97
|
+
}
|
|
98
|
+
let labelPath: string;
|
|
99
|
+
let title: string;
|
|
100
|
+
function onClick(): void;
|
|
101
|
+
let colorIdx: number;
|
|
102
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.chartProps1 = void 0;
|
|
4
|
+
exports.chartProps1 = {
|
|
5
|
+
overflowAfterHeight: 300,
|
|
6
|
+
// showPercent: showPercent,
|
|
7
|
+
data: [
|
|
8
|
+
{
|
|
9
|
+
display: "Logged In Once",
|
|
10
|
+
stack1: 45, stack2: 23, stack3: 67, stack4: 12, stack5: 89,
|
|
11
|
+
stack6: 34, stack7: 56, stack8: 78, stack9: 21, stack10: 43,
|
|
12
|
+
stack11: 65, stack12: 87, stack13: 32, stack14: 54, stack15: 76,
|
|
13
|
+
stack16: 19, stack17: 41, stack18: 63, stack19: 85, stack20: 28,
|
|
14
|
+
stack2Display: 'Labels Path Stack 2 Display'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
display: "Registered Users",
|
|
18
|
+
stack1: 92, stack3: 71, stack4: 25, stack5: 84,
|
|
19
|
+
stack6: 47, stack7: 69, stack8: 13, stack9: 56, stack10: 91,
|
|
20
|
+
stack11: 29, stack12: 73, stack13: 46, stack14: 82, stack15: 17,
|
|
21
|
+
stack16: 64, stack17: 39, stack18: 75, stack19: 22, stack20: 58
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
display: "Created Profile",
|
|
25
|
+
stack1: 33, stack2: 77, stack3: 14, stack4: 59, stack5: 86,
|
|
26
|
+
stack6: 31, stack7: 68, stack8: 42, stack9: 95, stack10: 26,
|
|
27
|
+
stack11: 71, stack12: 48, stack13: 83, stack14: 16, stack15: 62,
|
|
28
|
+
stack16: 37, stack17: 74, stack18: 29, stack19: 85, stack20: 51
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
display: "Wrote at least 3 story",
|
|
32
|
+
stack1: 18, stack2: 52, stack3: 79, stack4: 35, stack5: 61,
|
|
33
|
+
stack6: 93, stack7: 24, stack8: 67, stack9: 41, stack10: 88,
|
|
34
|
+
stack11: 15, stack12: 53, stack13: 76, stack14: 32, stack15: 68,
|
|
35
|
+
stack16: 94, stack17: 27, stack18: 49, stack19: 81, stack20: 36
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
display: "Created Profile again",
|
|
39
|
+
stack1: 44, stack2: 87, stack3: 21, stack4: 63, stack5: 96,
|
|
40
|
+
stack6: 38, stack7: 72, stack8: 55, stack9: 19, stack10: 81,
|
|
41
|
+
stack11: 46, stack12: 92, stack13: 28, stack14: 65, stack15: 37,
|
|
42
|
+
stack16: 74, stack17: 51, stack18: 83, stack19: 26, stack20: 69
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
display: "Wrote at least 1 story",
|
|
46
|
+
stack1: 57, stack2: 23, stack3: 89, stack4: 41, stack5: 76,
|
|
47
|
+
stack6: 12, stack7: 64, stack8: 98, stack9: 33, stack10: 78,
|
|
48
|
+
stack11: 55, stack12: 17, stack13: 91, stack14: 48, stack15: 82,
|
|
49
|
+
stack16: 26, stack17: 69, stack18: 43, stack19: 95, stack20: 31
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
plotDataPoint: "percentage",
|
|
53
|
+
valuePath: [
|
|
54
|
+
"stack1", "stack2", "stack3", "stack4", "stack5",
|
|
55
|
+
// "stack6", "stack7", "stack8", "stack9", "stack10",
|
|
56
|
+
// "stack11", "stack12", "stack13", "stack14", "stack15",
|
|
57
|
+
// "stack16", "stack17", "stack18", "stack19", "stack20"
|
|
58
|
+
],
|
|
59
|
+
breakdownCategoryName: "Age of org.",
|
|
60
|
+
tooltipLabelsMapping: {
|
|
61
|
+
stack1: 'Stack 1', stack2: 'Stack 2', stack3: 'Stack 3', stack4: 'Stack 4', stack5: 'Stack 5',
|
|
62
|
+
stack6: 'Stack 6', stack7: 'Stack 7', stack8: 'Stack 8', stack9: 'Stack 9', stack10: 'Stack 10',
|
|
63
|
+
stack11: 'Stack 11', stack12: 'Stack 12', stack13: 'Stack 13', stack14: 'Stack 14', stack15: 'Stack 15',
|
|
64
|
+
stack16: 'Stack 16', stack17: 'Stack 17', stack18: 'Stack 18', stack19: 'Stack 19', stack20: 'Stack 20'
|
|
65
|
+
},
|
|
66
|
+
labelPath: "display",
|
|
67
|
+
title: "This is a Stacked BarChart with 20 Stacks",
|
|
68
|
+
onClick: function () { },
|
|
69
|
+
colorIdx: 2
|
|
70
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export namespace heatMapGridProps {
|
|
2
|
+
let data: {
|
|
3
|
+
value: string;
|
|
4
|
+
display: string;
|
|
5
|
+
count: number;
|
|
6
|
+
compType0: string;
|
|
7
|
+
compType1: string;
|
|
8
|
+
children: {
|
|
9
|
+
value: string;
|
|
10
|
+
display: string[];
|
|
11
|
+
count: number;
|
|
12
|
+
compType0: string;
|
|
13
|
+
compType1: string;
|
|
14
|
+
}[];
|
|
15
|
+
}[];
|
|
16
|
+
let valuePath: string[];
|
|
17
|
+
let tooltipLabelsPath: string[];
|
|
18
|
+
let labelPath: string;
|
|
19
|
+
let colorIdx: number;
|
|
20
|
+
}
|
|
21
|
+
export namespace heaMapGridProps2 {
|
|
22
|
+
let data_1: {
|
|
23
|
+
value: string;
|
|
24
|
+
display: string;
|
|
25
|
+
count: number;
|
|
26
|
+
compType0: string;
|
|
27
|
+
compType1: string;
|
|
28
|
+
children: {
|
|
29
|
+
value: string;
|
|
30
|
+
display: string;
|
|
31
|
+
count: number;
|
|
32
|
+
compType0: string;
|
|
33
|
+
compType1: string;
|
|
34
|
+
}[];
|
|
35
|
+
}[];
|
|
36
|
+
export { data_1 as data };
|
|
37
|
+
let tooltipLabelsPath_1: string[];
|
|
38
|
+
export { tooltipLabelsPath_1 as tooltipLabelsPath };
|
|
39
|
+
let valuePath_1: string[];
|
|
40
|
+
export { valuePath_1 as valuePath };
|
|
41
|
+
let labelPath_1: string;
|
|
42
|
+
export { labelPath_1 as labelPath };
|
|
43
|
+
let colorIdx_1: number;
|
|
44
|
+
export { colorIdx_1 as colorIdx };
|
|
45
|
+
}
|
package/dist/stories/v2/components/{HeatMapGrid.stories.js → visualization/configs/props2.js}
RENAMED
|
@@ -10,117 +10,9 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
|
|
19
|
-
var HeatMapGrid_1 = require("../../../v2/components/dataviz/HeatMapGrid");
|
|
20
|
-
var __1 = require("../../..");
|
|
21
|
-
exports.default = {
|
|
22
|
-
title: "Oolib V 2.0/components/HeatMapGrid",
|
|
23
|
-
argTypes: {
|
|
24
|
-
showPercent: {
|
|
25
|
-
control: 'boolean',
|
|
26
|
-
description: 'Toggle percentage display',
|
|
27
|
-
defaultValue: true,
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
args: {
|
|
31
|
-
showPercent: true,
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
var HeatMapGrid = function (args) {
|
|
35
|
-
var colors = ["#5C80FF", "#FFA800", "#00BC8F", "#5C51CE"];
|
|
36
|
-
var handleCellClick = function (name) {
|
|
37
|
-
console.log("cell clicked: ".concat(name));
|
|
38
|
-
};
|
|
39
|
-
return (react_1.default.createElement("div", { style: { display: "grid", gridTemplateColumns: "1fr 1fr", gap: "20px", padding: '20px' } },
|
|
40
|
-
react_1.default.createElement("div", { style: { border: '1px solid black', padding: '10px' } },
|
|
41
|
-
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, { showPercent: args.showPercent, data: [
|
|
42
|
-
{
|
|
43
|
-
display: "Logged",
|
|
44
|
-
stack1: 60,
|
|
45
|
-
stack2: 20,
|
|
46
|
-
stack3: 40,
|
|
47
|
-
stack4: 10,
|
|
48
|
-
stack5: 40,
|
|
49
|
-
stack6: 10,
|
|
50
|
-
stack2Display: 'Labels Path Stack 2 Display'
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
display: "Registered Users",
|
|
54
|
-
stack1: 100,
|
|
55
|
-
stack2: 50,
|
|
56
|
-
stack3: 10,
|
|
57
|
-
stack4: 15,
|
|
58
|
-
stack5: 40,
|
|
59
|
-
stack6: 10,
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
display: "Created Profile",
|
|
63
|
-
stack1: 20,
|
|
64
|
-
stack2: 5,
|
|
65
|
-
stack3: 10,
|
|
66
|
-
stack4: 15,
|
|
67
|
-
stack5: 40,
|
|
68
|
-
stack6: 10,
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
display: "Wrote at least 3 story",
|
|
72
|
-
stack1: 8,
|
|
73
|
-
stack2: 2,
|
|
74
|
-
stack3: 1,
|
|
75
|
-
stack4: 1,
|
|
76
|
-
stack5: 40,
|
|
77
|
-
stack6: 10,
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
display: "Created Profile again",
|
|
81
|
-
stack1: 20,
|
|
82
|
-
stack2: 5,
|
|
83
|
-
stack3: 10,
|
|
84
|
-
stack4: 15,
|
|
85
|
-
stack5: 40,
|
|
86
|
-
stack6: 10,
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
display: "Wrote at least 1 story",
|
|
90
|
-
stack1: 8,
|
|
91
|
-
stack2: 2,
|
|
92
|
-
stack3: 1,
|
|
93
|
-
stack4: 1,
|
|
94
|
-
stack5: 40,
|
|
95
|
-
stack6: 10,
|
|
96
|
-
},
|
|
97
|
-
], plotDataPoint: "percentage" // This can be changed to count
|
|
98
|
-
, valuePath: [
|
|
99
|
-
"stack1",
|
|
100
|
-
"stack2",
|
|
101
|
-
"stack3",
|
|
102
|
-
"stack4",
|
|
103
|
-
"stack5",
|
|
104
|
-
"stack6",
|
|
105
|
-
], tooltipLabelsMapping: {
|
|
106
|
-
stack1: 'Stack 1',
|
|
107
|
-
stack2: 'Stack 2',
|
|
108
|
-
stack3: 'Stack 3',
|
|
109
|
-
stack4: 'Stack 4',
|
|
110
|
-
stack5: 'Stack 5',
|
|
111
|
-
stack6: 'Stack 6',
|
|
112
|
-
},
|
|
113
|
-
// valuePath="stack1"
|
|
114
|
-
labelPath: "display", title: "This is a Heat Map Grid", onClick: handleCellClick, colorIdx: 2, style: { height: "300px" } })),
|
|
115
|
-
react_1.default.createElement("div", { style: { border: '1px solid black', padding: '10px' } },
|
|
116
|
-
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, __assign({}, heatMapGridProps, { style: { height: "300px" } }))),
|
|
117
|
-
react_1.default.createElement("div", { style: { border: '1px solid black', padding: '10px' } },
|
|
118
|
-
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, __assign({}, heatMapGridProps, { style: { height: "300px" } }))),
|
|
119
|
-
react_1.default.createElement("div", { style: { border: '1px solid black', padding: '10px' } },
|
|
120
|
-
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, __assign({}, heaMapGridProps2, { style: { height: "300px" } })))));
|
|
121
|
-
};
|
|
122
|
-
exports.HeatMapGrid = HeatMapGrid;
|
|
123
|
-
var heatMapGridProps = __assign({
|
|
14
|
+
exports.heaMapGridProps2 = exports.heatMapGridProps = void 0;
|
|
15
|
+
exports.heatMapGridProps = __assign({
|
|
124
16
|
"data": [
|
|
125
17
|
{
|
|
126
18
|
"value": "iAgree",
|
|
@@ -986,7 +878,7 @@ var heatMapGridProps = __assign({
|
|
|
986
878
|
"labelPath": "display",
|
|
987
879
|
"colorIdx": 3
|
|
988
880
|
});
|
|
989
|
-
|
|
881
|
+
exports.heaMapGridProps2 = {
|
|
990
882
|
"data": [
|
|
991
883
|
{
|
|
992
884
|
"value": "reasons_for_not_engaging_with_eg_fundraising",
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports._Playground = void 0;
|
|
18
|
+
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var PieChart_1 = require("../../../../v2/components/dataviz/PieChart");
|
|
20
|
+
var HeatMapGrid_1 = require("../../../../v2/components/dataviz/HeatMapGrid");
|
|
21
|
+
var BarChart_1 = require("../../../../v2/components/dataviz/BarChart");
|
|
22
|
+
var BarGraphCollection_1 = require("../../../../v2/components/dataviz/BarGraphCollection");
|
|
23
|
+
var __1 = require("../../../..");
|
|
24
|
+
var props1_1 = require("./configs/props1");
|
|
25
|
+
var props2_1 = require("./configs/props2");
|
|
26
|
+
exports.default = {
|
|
27
|
+
title: "Oolib V 2.0/Visualization/VIZ PLayground",
|
|
28
|
+
parameters: {},
|
|
29
|
+
};
|
|
30
|
+
var WrapperComp = function (_a) {
|
|
31
|
+
var children = _a.children;
|
|
32
|
+
return react_1.default.createElement("div", { style: { border: "1px solid ".concat(__1.colors2.grey20), padding: '10px', borderRadius: "8px" } }, children);
|
|
33
|
+
};
|
|
34
|
+
var _Playground = function (args) {
|
|
35
|
+
var colors = ["#5C80FF", "#FFA800", "#00BC8F", "#5C51CE"];
|
|
36
|
+
var handleBarClick = function (name) {
|
|
37
|
+
console.log("Bar clicked: ".concat(name));
|
|
38
|
+
};
|
|
39
|
+
return (react_1.default.createElement("div", { style: { display: "grid", gridTemplateColumns: "1fr 1fr", gap: "20px", padding: '20px' } },
|
|
40
|
+
react_1.default.createElement(WrapperComp, null,
|
|
41
|
+
react_1.default.createElement(PieChart_1.PieChart, __assign({}, props1_1.chartProps1, { style: { height: "500px" } }))),
|
|
42
|
+
react_1.default.createElement(WrapperComp, null,
|
|
43
|
+
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, __assign({}, props1_1.chartProps1, { style: { height: "500px" } }))),
|
|
44
|
+
react_1.default.createElement(WrapperComp, null),
|
|
45
|
+
react_1.default.createElement(WrapperComp, null,
|
|
46
|
+
react_1.default.createElement(BarChart_1.BarChart, __assign({}, props1_1.chartProps1, { style: { height: "500px" } }))),
|
|
47
|
+
react_1.default.createElement(WrapperComp, null,
|
|
48
|
+
react_1.default.createElement(PieChart_1.PieChart, __assign({}, props2_1.heaMapGridProps2, { style: { height: "500px" } }))),
|
|
49
|
+
react_1.default.createElement(WrapperComp, null,
|
|
50
|
+
react_1.default.createElement(HeatMapGrid_1.HeatMapGrid, __assign({}, props2_1.heaMapGridProps2, { style: { height: "500px" } }))),
|
|
51
|
+
react_1.default.createElement(WrapperComp, null),
|
|
52
|
+
react_1.default.createElement(WrapperComp, null,
|
|
53
|
+
react_1.default.createElement(BarChart_1.BarChart, __assign({}, props2_1.heaMapGridProps2, { style: { height: "500px" } })))));
|
|
54
|
+
};
|
|
55
|
+
exports._Playground = _Playground;
|
|
@@ -29,7 +29,7 @@ exports.DataVizAccordion = void 0;
|
|
|
29
29
|
var react_1 = __importDefault(require("react"));
|
|
30
30
|
var react_2 = require("react");
|
|
31
31
|
var BarChart_1 = require("../dataviz/BarChart");
|
|
32
|
-
var PieChart_1 = require("../PieChart");
|
|
32
|
+
var PieChart_1 = require("../dataviz/PieChart");
|
|
33
33
|
var Accordion_1 = require("../Accordion");
|
|
34
34
|
var DataVizAccordion = function (_a) {
|
|
35
35
|
var title = _a.title, _b = _a.chartOptions, chartOptions = _b === void 0 ? [] : _b, props = __rest(_a, ["title", "chartOptions"]);
|
|
@@ -29,6 +29,12 @@ export interface BarChartProps {
|
|
|
29
29
|
summarizeAfterIdx?: number;
|
|
30
30
|
style?: React.CSSProperties;
|
|
31
31
|
}
|
|
32
|
+
export declare const useDecideLegendOrientation: (options?: {
|
|
33
|
+
widthThreshold?: number;
|
|
34
|
+
}) => {
|
|
35
|
+
vizWrapperRef: React.MutableRefObject<HTMLDivElement>;
|
|
36
|
+
orientation: "horizontal" | "vertical";
|
|
37
|
+
};
|
|
32
38
|
export declare const FadeGradientWhenScroll: ({ style }: {
|
|
33
39
|
style?: {};
|
|
34
40
|
}) => React.JSX.Element;
|
|
@@ -47,7 +47,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
47
47
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.BarChart = exports.FadeGradientWhenScroll = exports.useTrackMousePosition = void 0;
|
|
50
|
+
exports.BarChart = exports.FadeGradientWhenScroll = exports.useDecideLegendOrientation = exports.useTrackMousePosition = void 0;
|
|
51
51
|
var react_1 = __importStar(require("react"));
|
|
52
52
|
var recharts_1 = require("recharts");
|
|
53
53
|
var CustomizedLabel_1 = require("./comps/CustomizedLabel");
|
|
@@ -244,6 +244,7 @@ var useDecideLegendOrientation = function (options) {
|
|
|
244
244
|
orientation: orientation
|
|
245
245
|
};
|
|
246
246
|
};
|
|
247
|
+
exports.useDecideLegendOrientation = useDecideLegendOrientation;
|
|
247
248
|
var BarChartRenderer = function (_a) {
|
|
248
249
|
var data = _a.data, isBreakdown = _a.isBreakdown, breakdownDisplayType = _a.breakdownDisplayType, showSumOfBreakdownValues = _a.showSumOfBreakdownValues, showPercent = _a.showPercent, showCount = _a.showCount, activeBar = _a.activeBar, setActiveBar = _a.setActiveBar, onClick = _a.onClick,
|
|
249
250
|
//
|
|
@@ -321,7 +322,7 @@ var BarChart = function (_a) {
|
|
|
321
322
|
colorIdx: colorIdx
|
|
322
323
|
}), data = _j.data, dataMaxValue = _j.dataMaxValue, dataToSummarize = _j.dataToSummarize;
|
|
323
324
|
console.log({ data: data, valuePath: valuePath });
|
|
324
|
-
var _k = useDecideLegendOrientation({
|
|
325
|
+
var _k = (0, exports.useDecideLegendOrientation)({
|
|
325
326
|
widthThreshold: 500
|
|
326
327
|
}), vizWrapperRef = _k.vizWrapperRef, orientation = _k.orientation;
|
|
327
328
|
var _l = (0, react_1.useState)(undefined), activeBar = _l[0], setActiveBar = _l[1];
|
|
@@ -172,18 +172,19 @@ var HeatMapGrid = function (_a) {
|
|
|
172
172
|
if (scrollableRef.current) {
|
|
173
173
|
scrollableRef.current.scrollTop = e.target.scrollTop;
|
|
174
174
|
}
|
|
175
|
-
} }, data.map(function (d, idx) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
} }, d[0]
|
|
175
|
+
} }, data.map(function (d, idx) {
|
|
176
|
+
var _a;
|
|
177
|
+
return (react_1.default.createElement("div", { key: idx, style: {
|
|
178
|
+
height: _configs.cellSize + "px",
|
|
179
|
+
textAlign: "right",
|
|
180
|
+
display: "flex",
|
|
181
|
+
alignItems: "center",
|
|
182
|
+
justifyContent: "flex-end",
|
|
183
|
+
flexShrink: 0,
|
|
184
|
+
} },
|
|
185
|
+
react_1.default.createElement("div", { ref: function (el) { return setVerticalRef(idx, el); } },
|
|
186
|
+
react_1.default.createElement(STYLED_UI_CAPTION_SEMIBOLD_DF, { style: { maxWidth: yWidth + "px" } }, (_a = d[0]) === null || _a === void 0 ? void 0 : _a.labels.name))));
|
|
187
|
+
})),
|
|
187
188
|
react_1.default.createElement("div", { ref: scrollableRef, style: {
|
|
188
189
|
gridRow: 2,
|
|
189
190
|
gridColumn: 2,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React, { CSSProperties } from "react";
|
|
2
|
+
export interface PieChartProps {
|
|
3
|
+
data: any;
|
|
4
|
+
valuePath: string | string[];
|
|
5
|
+
tooltipLabelsMapping?: {
|
|
6
|
+
[key: string]: string;
|
|
7
|
+
};
|
|
8
|
+
tooltipLabelsPath?: string | string[];
|
|
9
|
+
breakdownCategoryName?: string;
|
|
10
|
+
labelPath: string;
|
|
11
|
+
title?: string;
|
|
12
|
+
onClick?: (name: string) => void;
|
|
13
|
+
colors?: string[];
|
|
14
|
+
colorIdx?: number;
|
|
15
|
+
plotDataPoint?: "percentage" | "count";
|
|
16
|
+
showPercent?: boolean;
|
|
17
|
+
showCount?: boolean;
|
|
18
|
+
innerLabel?: string;
|
|
19
|
+
style?: CSSProperties;
|
|
20
|
+
}
|
|
21
|
+
export declare const PieChart: React.FunctionComponent<PieChartProps>;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.PieChart = void 0;
|
|
48
|
+
var react_1 = __importStar(require("react"));
|
|
49
|
+
var recharts_1 = require("recharts");
|
|
50
|
+
var _EXPORTS_1 = require("../../../../utils/_EXPORTS");
|
|
51
|
+
var Legend_1 = require("../BarChart/comps/Legend");
|
|
52
|
+
var __1 = require("../../../..");
|
|
53
|
+
var BarChart_1 = require("../BarChart");
|
|
54
|
+
var usePrepareData_1 = require("../utils/usePrepareData");
|
|
55
|
+
var chartColors = [
|
|
56
|
+
"#5C80FF",
|
|
57
|
+
"#FFA800",
|
|
58
|
+
"#00BC8F",
|
|
59
|
+
"#FF51CE",
|
|
60
|
+
"rgb(173, 89, 108)",
|
|
61
|
+
"rgb(114, 190, 244)",
|
|
62
|
+
"rgb(255, 178, 122)",
|
|
63
|
+
"rgb(14, 126, 161)",
|
|
64
|
+
"rgb(60, 169, 116)",
|
|
65
|
+
"rgb(254, 187, 178)",
|
|
66
|
+
"rgb(204, 128, 217)",
|
|
67
|
+
"rgb(91, 184, 175)",
|
|
68
|
+
];
|
|
69
|
+
var usePieChartData = function (barChartData, isBreakdown) {
|
|
70
|
+
return (0, react_1.useMemo)(function () {
|
|
71
|
+
if (!barChartData || barChartData.length === 0) {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
if (!isBreakdown) {
|
|
75
|
+
// For non-breakdown data, the structure is already compatible
|
|
76
|
+
return barChartData.map(function (item) { return ({
|
|
77
|
+
labels: {
|
|
78
|
+
percentage: item.labels.percentage,
|
|
79
|
+
count: item.labels.count,
|
|
80
|
+
name: item.labels.name,
|
|
81
|
+
tooltipLabel: item.labels.tooltipLabel || item.labels.name,
|
|
82
|
+
},
|
|
83
|
+
}); });
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
// For breakdown data, sum all values for each main category
|
|
87
|
+
return barChartData.map(function (itemArray) {
|
|
88
|
+
var totalCount = itemArray.reduce(function (sum, item) { return sum + item.labels.count; }, 0);
|
|
89
|
+
var mainItem = itemArray[0]; // Use the first item for the main label
|
|
90
|
+
// Calculate total across all items for percentage calculation
|
|
91
|
+
var grandTotal = barChartData.reduce(function (total, group) {
|
|
92
|
+
return total + group.reduce(function (groupSum, item) { return groupSum + item.labels.count; }, 0);
|
|
93
|
+
}, 0);
|
|
94
|
+
return {
|
|
95
|
+
labels: {
|
|
96
|
+
percentage: (0, _EXPORTS_1.getPercentage)(totalCount, grandTotal),
|
|
97
|
+
count: totalCount,
|
|
98
|
+
name: mainItem.labels.name,
|
|
99
|
+
tooltipLabel: mainItem.labels.tooltipLabel || mainItem.labels.name,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}, [barChartData, isBreakdown]);
|
|
105
|
+
};
|
|
106
|
+
var CustomLabel = function (_a) {
|
|
107
|
+
var viewBox = _a.viewBox, value = _a.value;
|
|
108
|
+
var cx = viewBox.cx, cy = viewBox.cy;
|
|
109
|
+
return (react_1.default.createElement("text", { x: cx, y: cy, textAnchor: "middle", dominantBaseline: "central", className: "text-sm font-medium" }, value));
|
|
110
|
+
};
|
|
111
|
+
var RADIAN = Math.PI / 180;
|
|
112
|
+
var renderCustomizedLabel = function (_a) {
|
|
113
|
+
var cx = _a.cx, cy = _a.cy, midAngle = _a.midAngle, innerRadius = _a.innerRadius, outerRadius = _a.outerRadius, percent = _a.percent, dataKey = _a.dataKey, index = _a.index;
|
|
114
|
+
// Calculate position closer to the center of the slice
|
|
115
|
+
var radius = innerRadius + (outerRadius - innerRadius) * 0.45; // Moved closer to center
|
|
116
|
+
var x = cx + radius * Math.cos(-midAngle * RADIAN);
|
|
117
|
+
var y = cy + radius * Math.sin(-midAngle * RADIAN);
|
|
118
|
+
return (react_1.default.createElement("text", { key: index, x: x, y: y, fill: "black" // Changed to white for better contrast
|
|
119
|
+
, textAnchor: "middle" // Always center the text
|
|
120
|
+
, dominantBaseline: "central", className: "UI_CAPTION_SEMIBOLD" }, "".concat((percent * 100).toFixed(0), "%")));
|
|
121
|
+
};
|
|
122
|
+
var renderActiveShape = function (props) {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
var cx = props.cx, cy = props.cy, innerRadius = props.innerRadius, outerRadius = props.outerRadius, startAngle = props.startAngle, endAngle = props.endAngle, fill = props.fill, payload = props.payload, midAngle = props.midAngle;
|
|
125
|
+
var radius = innerRadius + (outerRadius - innerRadius) * 0.45; // Moved closer to center
|
|
126
|
+
var x = cx + radius * Math.cos(-midAngle * RADIAN);
|
|
127
|
+
var y = cy + radius * Math.sin(-midAngle * RADIAN);
|
|
128
|
+
return (react_1.default.createElement("g", null,
|
|
129
|
+
react_1.default.createElement(recharts_1.Sector, { cx: cx, cy: cy, innerRadius: innerRadius, outerRadius: outerRadius + 8, startAngle: startAngle, endAngle: endAngle, fill: fill }),
|
|
130
|
+
react_1.default.createElement("text", { x: x, y: y, fill: "black", textAnchor: "middle", dominantBaseline: "central", className: "UI_CAPTION_SEMIBOLD" }, "".concat((((_b = (_a = payload.payload) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b.percentage) || 0).toFixed(0), "%"))));
|
|
131
|
+
};
|
|
132
|
+
var PieChart = function (_a) {
|
|
133
|
+
var _data = _a.data, valuePath = _a.valuePath, tooltipLabelsMapping = _a.tooltipLabelsMapping, tooltipLabelsPath = _a.tooltipLabelsPath, breakdownCategoryName = _a.breakdownCategoryName, _b = _a.labelPath, labelPath = _b === void 0 ? "name" : _b, onClick = _a.onClick, _c = _a.colors, colors = _c === void 0 ? chartColors : _c, _d = _a.colorIdx, colorIdx = _d === void 0 ? 0 : _d, _e = _a.plotDataPoint, plotDataPoint = _e === void 0 ? "percentage" : _e, _f = _a.showPercent, showPercent = _f === void 0 ? true : _f, _g = _a.showCount, showCount = _g === void 0 ? false : _g, innerLabel = _a.innerLabel, style = _a.style;
|
|
134
|
+
var isBreakdown = Array.isArray(valuePath);
|
|
135
|
+
var barChartData = (0, usePrepareData_1.usePrepareData)({
|
|
136
|
+
_data: _data,
|
|
137
|
+
labelPath: labelPath,
|
|
138
|
+
valuePath: valuePath,
|
|
139
|
+
tooltipLabelsMapping: tooltipLabelsMapping,
|
|
140
|
+
tooltipLabelsPath: tooltipLabelsPath,
|
|
141
|
+
isBreakdown: isBreakdown,
|
|
142
|
+
showPercent: showPercent,
|
|
143
|
+
summarizeAfterIdx: undefined, // PieChart doesn't use summarization
|
|
144
|
+
colorIdx: colorIdx
|
|
145
|
+
}).data;
|
|
146
|
+
// Adapt the BarChart data format to PieChart format
|
|
147
|
+
var data = usePieChartData(barChartData, isBreakdown);
|
|
148
|
+
var _h = (0, BarChart_1.useDecideLegendOrientation)({
|
|
149
|
+
widthThreshold: 500
|
|
150
|
+
}), vizWrapperRef = _h.vizWrapperRef, orientation = _h.orientation;
|
|
151
|
+
var _j = (0, react_1.useState)(), activeIndex = _j[0], setActiveIndex = _j[1];
|
|
152
|
+
var onPieEnter = function (_, index) {
|
|
153
|
+
setActiveIndex(index);
|
|
154
|
+
};
|
|
155
|
+
var onPieLeave = function () {
|
|
156
|
+
setActiveIndex(undefined);
|
|
157
|
+
};
|
|
158
|
+
var onPieClick = function (_, index) {
|
|
159
|
+
if (onClick) {
|
|
160
|
+
onClick(data[index].labels.name);
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
if (data.length === 0)
|
|
164
|
+
return react_1.default.createElement("div", null, "No data available");
|
|
165
|
+
return (react_1.default.createElement("div", { ref: vizWrapperRef, style: __assign(__assign({}, style), { width: "100%", display: 'flex', gap: '8px', flexDirection: orientation === 'vertical' ? 'row' : 'column', position: 'relative' }) },
|
|
166
|
+
react_1.default.createElement("div", { style: { flexGrow: 1, position: 'relative' } },
|
|
167
|
+
react_1.default.createElement("div", { className: "w-full", style: { height: "300px" } },
|
|
168
|
+
react_1.default.createElement(recharts_1.ResponsiveContainer, { width: "100%", height: "100%" },
|
|
169
|
+
react_1.default.createElement(recharts_1.PieChart, null,
|
|
170
|
+
react_1.default.createElement(recharts_1.Pie, { data: data, cx: "50%", cy: "50%", label: renderCustomizedLabel, fill: "#8884d8", dataKey: "labels.count", nameKey: "labels.name", innerRadius: 70, outerRadius: 140, labelLine: false, activeShape: renderActiveShape, onMouseEnter: onPieEnter, onMouseLeave: onPieLeave, onClick: onClick ? onPieClick : undefined, style: onClick ? { cursor: "pointer" } : {}, activeIndex: activeIndex }, data.map(function (entry, index) { return (react_1.default.createElement(recharts_1.Cell, { key: "cell-".concat(index), fill: colors[(index + colorIdx) % colors.length], opacity: activeIndex !== undefined && activeIndex !== index ? 0.4 : 1 })); })))))),
|
|
171
|
+
react_1.default.createElement("div", { style: __assign({ position: 'sticky' }, (orientation === 'vertical' ? { top: 0 } : { bottom: 0, background: __1.colors2.white })) },
|
|
172
|
+
react_1.default.createElement(Legend_1.Legend, { orientation: orientation, label: breakdownCategoryName || "Categories", data: data.map(function (d, index) { return ({
|
|
173
|
+
text: d.labels.tooltipLabel || d.labels.name,
|
|
174
|
+
color: colors[(index + colorIdx) % colors.length]
|
|
175
|
+
}); }) }))));
|
|
176
|
+
};
|
|
177
|
+
exports.PieChart = PieChart;
|
package/package.json
CHANGED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface PieChartProps {
|
|
3
|
-
data: any;
|
|
4
|
-
valuePath: string;
|
|
5
|
-
labelPath: string;
|
|
6
|
-
title?: string;
|
|
7
|
-
onClick?: (name: string) => void;
|
|
8
|
-
colors?: string[];
|
|
9
|
-
colorIdx?: number;
|
|
10
|
-
plotDataPoint?: "percentage" | "count";
|
|
11
|
-
innerLabel?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare const PieChart: React.FC<PieChartProps>;
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
-
var ownKeys = function(o) {
|
|
31
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
-
var ar = [];
|
|
33
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
-
return ar;
|
|
35
|
-
};
|
|
36
|
-
return ownKeys(o);
|
|
37
|
-
};
|
|
38
|
-
return function (mod) {
|
|
39
|
-
if (mod && mod.__esModule) return mod;
|
|
40
|
-
var result = {};
|
|
41
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
-
__setModuleDefault(result, mod);
|
|
43
|
-
return result;
|
|
44
|
-
};
|
|
45
|
-
})();
|
|
46
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
47
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
48
|
-
if (ar || !(i in from)) {
|
|
49
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
50
|
-
ar[i] = from[i];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
54
|
-
};
|
|
55
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
|
-
exports.PieChart = void 0;
|
|
57
|
-
var react_1 = __importStar(require("react"));
|
|
58
|
-
var recharts_1 = require("recharts");
|
|
59
|
-
var _EXPORTS_1 = require("../../../utils/_EXPORTS");
|
|
60
|
-
var getTotalCount_1 = require("../../../utils/getTotalCount");
|
|
61
|
-
var chartColors = [
|
|
62
|
-
"#5C80FF",
|
|
63
|
-
"#FFA800",
|
|
64
|
-
"#00BC8F",
|
|
65
|
-
"#FF51CE",
|
|
66
|
-
"rgb(173, 89, 108)",
|
|
67
|
-
"rgb(114, 190, 244)",
|
|
68
|
-
"rgb(255, 178, 122)",
|
|
69
|
-
"rgb(14, 126, 161)",
|
|
70
|
-
"rgb(60, 169, 116)",
|
|
71
|
-
"rgb(254, 187, 178)",
|
|
72
|
-
"rgb(204, 128, 217)",
|
|
73
|
-
"rgb(91, 184, 175)",
|
|
74
|
-
];
|
|
75
|
-
var usePrepareData = function (_a) {
|
|
76
|
-
var _data = _a._data, labelPath = _a.labelPath, valuePath = _a.valuePath, plotDataPoint = _a.plotDataPoint;
|
|
77
|
-
return (0, react_1.useMemo)(function () {
|
|
78
|
-
var finalData = __spreadArray([], _data, true);
|
|
79
|
-
var totalCount = (0, getTotalCount_1.getTotalCount)({ data: finalData, countPath: valuePath });
|
|
80
|
-
finalData = finalData.map(function (d) { return ({
|
|
81
|
-
labels: __assign(__assign({}, (plotDataPoint === "percentage"
|
|
82
|
-
? { percentage: (0, _EXPORTS_1.getPercentage)((0, _EXPORTS_1.getVal)(d, valuePath), totalCount) }
|
|
83
|
-
: {})), { count: (0, _EXPORTS_1.getVal)(d, valuePath), name: (0, _EXPORTS_1.getVal)(d, labelPath) }),
|
|
84
|
-
}); });
|
|
85
|
-
// Sort by value
|
|
86
|
-
finalData.sort(function (a, b) { return b.labels.count - a.labels.count; });
|
|
87
|
-
return finalData;
|
|
88
|
-
}, [_data, labelPath, valuePath, plotDataPoint]);
|
|
89
|
-
};
|
|
90
|
-
var CustomLabel = function (_a) {
|
|
91
|
-
var viewBox = _a.viewBox, value = _a.value;
|
|
92
|
-
var cx = viewBox.cx, cy = viewBox.cy;
|
|
93
|
-
return (react_1.default.createElement("text", { x: cx, y: cy, textAnchor: "middle", dominantBaseline: "central", className: "text-sm font-medium" }, value));
|
|
94
|
-
};
|
|
95
|
-
var renderActiveShape = function (props) {
|
|
96
|
-
var cx = props.cx, cy = props.cy, innerRadius = props.innerRadius, outerRadius = props.outerRadius, startAngle = props.startAngle, endAngle = props.endAngle, fill = props.fill, payload = props.payload;
|
|
97
|
-
return (react_1.default.createElement("g", null,
|
|
98
|
-
react_1.default.createElement(recharts_1.Sector, { cx: cx, cy: cy, innerRadius: innerRadius, outerRadius: outerRadius + 8, startAngle: startAngle, endAngle: endAngle, fill: fill }),
|
|
99
|
-
react_1.default.createElement(recharts_1.Sector, { cx: cx, cy: cy, startAngle: startAngle, endAngle: endAngle, innerRadius: innerRadius - 4, outerRadius: innerRadius - 2, fill: fill })));
|
|
100
|
-
};
|
|
101
|
-
var PieChart = function (_a) {
|
|
102
|
-
var _data = _a.data, valuePath = _a.valuePath, _b = _a.labelPath, labelPath = _b === void 0 ? "name" : _b, onClick = _a.onClick, _c = _a.colors, colors = _c === void 0 ? chartColors : _c, _d = _a.colorIdx, colorIdx = _d === void 0 ? 0 : _d, _e = _a.plotDataPoint, plotDataPoint = _e === void 0 ? "percentage" : _e, innerLabel = _a.innerLabel;
|
|
103
|
-
var data = usePrepareData({
|
|
104
|
-
_data: _data,
|
|
105
|
-
labelPath: labelPath,
|
|
106
|
-
valuePath: valuePath,
|
|
107
|
-
plotDataPoint: plotDataPoint,
|
|
108
|
-
});
|
|
109
|
-
var _f = (0, react_1.useState)(), activeIndex = _f[0], setActiveIndex = _f[1];
|
|
110
|
-
var onPieEnter = function (_, index) {
|
|
111
|
-
setActiveIndex(index);
|
|
112
|
-
};
|
|
113
|
-
var onPieLeave = function () {
|
|
114
|
-
setActiveIndex(undefined);
|
|
115
|
-
};
|
|
116
|
-
var onPieClick = function (_, index) {
|
|
117
|
-
if (onClick) {
|
|
118
|
-
onClick(data[index].labels.name);
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
return (react_1.default.createElement("div", { className: "w-full", style: { height: "300px" } },
|
|
122
|
-
react_1.default.createElement(recharts_1.ResponsiveContainer, { width: "100%", height: "100%" },
|
|
123
|
-
react_1.default.createElement(recharts_1.PieChart, null,
|
|
124
|
-
react_1.default.createElement(recharts_1.Pie, { data: data, dataKey: "labels.count", nameKey: "labels.name", cx: "50%", cy: "50%", innerRadius: 60, outerRadius: 80, paddingAngle: 1, activeIndex: activeIndex, activeShape: renderActiveShape, onMouseEnter: onPieEnter, onMouseLeave: onPieLeave, onClick: onClick ? onPieClick : undefined, style: onClick ? { cursor: "pointer" } : {} }, data.map(function (entry, index) { return (react_1.default.createElement(recharts_1.Cell, { key: "cell-".concat(index), fill: colors[(index + colorIdx) % colors.length], opacity: activeIndex !== undefined && activeIndex !== index ? 0.4 : 1 })); }))))));
|
|
125
|
-
};
|
|
126
|
-
exports.PieChart = PieChart;
|