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.
Files changed (23) hide show
  1. package/dist/stories/v2/components/{BarChart.stories.d.ts → visualization/BarChart.stories.d.ts} +1 -1
  2. package/dist/stories/v2/components/{BarChart.stories.js → visualization/BarChart.stories.js} +5 -7
  3. package/dist/stories/v2/components/{BarGraphCollection.stories.d.ts → visualization/BarGraphCollection.stories.d.ts} +1 -1
  4. package/dist/stories/v2/components/{BarGraphCollection.stories.js → visualization/BarGraphCollection.stories.js} +6 -6
  5. package/dist/stories/v2/components/{HeatMapGrid.stories.d.ts → visualization/HeatMapGrid.stories.d.ts} +1 -1
  6. package/dist/stories/v2/components/visualization/HeatMapGrid.stories.js +122 -0
  7. package/dist/stories/v2/components/{PieChart.stories.d.ts → visualization/PieChart.stories.d.ts} +1 -1
  8. package/dist/stories/v2/components/{PieChart.stories.js → visualization/PieChart.stories.js} +20 -17
  9. package/dist/stories/v2/components/visualization/configs/props1.d.ts +102 -0
  10. package/dist/stories/v2/components/visualization/configs/props1.js +70 -0
  11. package/dist/stories/v2/components/visualization/configs/props2.d.ts +45 -0
  12. package/dist/stories/v2/components/{HeatMapGrid.stories.js → visualization/configs/props2.js} +3 -111
  13. package/dist/stories/v2/components/visualization/vizPlayground.stories.d.ts +7 -0
  14. package/dist/stories/v2/components/visualization/vizPlayground.stories.js +55 -0
  15. package/dist/v2/components/DataVizAccordion/index.js +1 -1
  16. package/dist/v2/components/dataviz/BarChart/index.d.ts +6 -0
  17. package/dist/v2/components/dataviz/BarChart/index.js +3 -2
  18. package/dist/v2/components/dataviz/HeatMapGrid/index.js +13 -12
  19. package/dist/v2/components/dataviz/PieChart/index.d.ts +21 -0
  20. package/dist/v2/components/dataviz/PieChart/index.js +177 -0
  21. package/package.json +1 -1
  22. package/dist/v2/components/PieChart/index.d.ts +0 -13
  23. package/dist/v2/components/PieChart/index.js +0 -126
@@ -18,6 +18,6 @@ declare namespace _default {
18
18
  }
19
19
  }
20
20
  export default _default;
21
- export function BarChart(args: any): React.JSX.Element;
21
+ export function _BarChart(args: any): React.JSX.Element;
22
22
  import BarChartDocs from './BarChart.mdx';
23
23
  import React from "react";
@@ -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.BarChart = void 0;
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 CustomTooltip_1 = __importDefault(require("../../../v2/components/dataviz/BarChart/comps/CustomTooltip"));
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/components/BarChart",
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 BarChart = function (args) {
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.BarChart = BarChart;
251
+ exports._BarChart = _BarChart;
@@ -15,5 +15,5 @@ declare namespace _default {
15
15
  }
16
16
  }
17
17
  export default _default;
18
- export function BarGraphCollection_(args: any): React.JSX.Element;
18
+ export function _BarGraphCollection_(args: any): React.JSX.Element;
19
19
  import React from "react";
@@ -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.BarGraphCollection_ = void 0;
6
+ exports._BarGraphCollection_ = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
- var Container_1 = require("../../../components/Container");
9
- var BarGraphCollection_1 = require("../../../v2/components/dataviz/BarGraphCollection");
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/components/BarGraphCollection",
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 BarGraphCollection_ = function (args) {
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.BarGraphCollection_ = BarGraphCollection_;
1190
+ exports._BarGraphCollection_ = _BarGraphCollection_;
@@ -13,5 +13,5 @@ declare namespace _default {
13
13
  }
14
14
  }
15
15
  export default _default;
16
- export function HeatMapGrid(args: any): React.JSX.Element;
16
+ export function _HeatMapGrid(args: any): React.JSX.Element;
17
17
  import React from "react";
@@ -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;
@@ -3,5 +3,5 @@ declare namespace _default {
3
3
  let parameters: {};
4
4
  }
5
5
  export default _default;
6
- export function PieChart(args: any): React.JSX.Element;
6
+ export function _PieChart(args: any): React.JSX.Element;
7
7
  import React from "react";
@@ -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.PieChart = void 0;
17
+ exports._PieChart = void 0;
7
18
  var react_1 = __importDefault(require("react"));
8
- var PieChart_1 = require("../../../v2/components/PieChart");
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/components/PieChart",
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 PieChart = function (args) {
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: 'grid', gridTemplateColumns: '1fr 1fr', gap: '20px' } },
64
- react_1.default.createElement(PieChart_1.PieChart, { data: [
65
- { display: 'Logged In Once', stack1: 60, stack2: 20, stack3: 40, stack4: 10, stack5: 40, stack6: 10, },
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.PieChart = PieChart;
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
+ }
@@ -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.HeatMapGrid = void 0;
18
- var react_1 = __importDefault(require("react"));
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
- var heaMapGridProps2 = {
881
+ exports.heaMapGridProps2 = {
990
882
  "data": [
991
883
  {
992
884
  "value": "reasons_for_not_engaging_with_eg_fundraising",
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ let title: string;
3
+ let parameters: {};
4
+ }
5
+ export default _default;
6
+ export function _Playground(args: any): React.JSX.Element;
7
+ import React from "react";
@@ -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) { return (react_1.default.createElement("div", { key: idx, style: {
176
- height: _configs.cellSize + "px",
177
- textAlign: "right",
178
- display: "flex",
179
- alignItems: "center",
180
- justifyContent: "flex-end",
181
- flexShrink: 0,
182
- } },
183
- react_1.default.createElement("div", { ref: function (el) { return setVerticalRef(idx, el); } },
184
- react_1.default.createElement(STYLED_UI_CAPTION_SEMIBOLD_DF, { style: {
185
- maxWidth: yWidth + "px",
186
- } }, d[0].labels.name.length > 50 ? d[0].labels.name.substring(0, 50) + "..." : d[0].labels.name)))); })),
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,6 +1,6 @@
1
1
  {
2
2
  "name": "oolib",
3
- "version": "2.197.5",
3
+ "version": "2.198.1",
4
4
  "description": " OKE Component Library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -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;