oolib 2.125.1 → 2.125.3

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.
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- export declare const PercentBarChart: ({ data: _data, title, valuePath, labelPath, onClick, colors, }: {
2
+ export declare const PercentBarChart: ({ data: _data, title, valuePath, labelPath, onClick, colors, valueSuffix, }: {
3
3
  data: any;
4
4
  valuePath: string;
5
5
  labelPath: string;
6
6
  title?: string;
7
7
  onClick?: (name: string) => void;
8
8
  colors?: string[];
9
+ valueSuffix?: string;
9
10
  }) => React.JSX.Element;
@@ -46,8 +46,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.PercentBarChart = void 0;
47
47
  var react_1 = __importStar(require("react"));
48
48
  var recharts_1 = require("recharts");
49
+ var _EXPORTS_1 = require("../../utils/_EXPORTS");
49
50
  var Typo_1 = require("../Typo");
50
- var colors_1 = require("../../themes/colors");
51
+ var getTotalCount_1 = require("../../utils/getTotalCount");
51
52
  var chartColors = [
52
53
  "rgb(120, 86, 255)",
53
54
  "rgb(255, 117, 86)",
@@ -74,46 +75,55 @@ var renderCustomizedValue = function (_a) {
74
75
  return (react_1.default.createElement("text", { opacity: opacity, fontSize: 14, fontWeight: "600", x: width + xOffset, y: y + height / 2 + yOffset, fill: "black", textAnchor: "start", dominantBaseline: "middle", className: "SANS_2" }, "".concat(value).concat(suffix || "")));
75
76
  };
76
77
  var _dataSample = [
77
- { name: "AAA/A1+", value: 72.3, Type: 0 },
78
- { name: "Cash & Cash Equivalents", value: 10.1, Type: 1 },
79
- { name: "Sovereign", value: 9.87, Type: 2 },
80
- { name: "AA+", value: 5.63, Type: 3 },
78
+ { name: "Great food", value: 72.3, Type: 0 },
79
+ { name: "Great Ambience", value: 10.1, Type: 1 },
80
+ { name: "Great Music", value: 9.87, Type: 2 },
81
+ { name: "Great Cocktails", value: 5.63, Type: 3 },
81
82
  ];
83
+ var configs = {
84
+ barHeight: 24,
85
+ barGap: 32,
86
+ };
82
87
  var PercentBarChart = function (_a) {
83
- var _b = _a.data, _data = _b === void 0 ? _dataSample : _b, title = _a.title, _c = _a.valuePath, valuePath = _c === void 0 ? "value" : _c, _d = _a.labelPath, labelPath = _d === void 0 ? "name" : _d, onClick = _a.onClick, _e = _a.colors, colors = _e === void 0 ? chartColors : _e;
88
+ var _b = _a.data, _data = _b === void 0 ? _dataSample : _b, title = _a.title, _c = _a.valuePath, valuePath = _c === void 0 ? "value" : _c, _d = _a.labelPath, labelPath = _d === void 0 ? "name" : _d, onClick = _a.onClick, _e = _a.colors, colors = _e === void 0 ? chartColors : _e, _f = _a.valueSuffix, valueSuffix = _f === void 0 ? "%" : _f;
89
+ var totalCount = (0, getTotalCount_1.getTotalCount)({ data: _data, countPath: valuePath });
84
90
  var data = (0, react_1.useMemo)(function () {
85
91
  var finalData = __spreadArray([], _data, true);
86
- finalData = finalData.map(function (d, i) { return (__assign(__assign({}, d), { value: d[valuePath], name: d[labelPath], color: colors[i % colors.length] })); });
92
+ finalData = finalData.map(function (d, i) { return (__assign(__assign({}, d), { value: (0, _EXPORTS_1.getPercentage)((0, _EXPORTS_1.getVal)(d, valuePath), totalCount), name: (0, _EXPORTS_1.getVal)(d, labelPath), color: colors[i % colors.length] })); });
87
93
  finalData.sort(function (a, b) {
88
94
  return Number(b.value || 0) - Number(a.value || 0);
89
95
  });
90
96
  return finalData;
91
97
  }, [_data, labelPath, valuePath]);
92
- var _f = (0, react_1.useState)(undefined), activeBar = _f[0], setActiveBar = _f[1];
98
+ var _g = (0, react_1.useState)(undefined), activeBar = _g[0], setActiveBar = _g[1];
93
99
  var changeBarOpacityFn = function (name) {
94
100
  return activeBar && activeBar !== name ? 0.4 : 1;
95
101
  };
96
- return (react_1.default.createElement("div", { style: { border: "1px solid ".concat(colors_1.colors.greyColor15) } },
97
- title && (react_1.default.createElement(Typo_1.SANS_4_5, { style: { padding: "2rem", paddingBottom: "0" }, semibold: true }, title)),
102
+ return (react_1.default.createElement("div", null,
103
+ title && (react_1.default.createElement(Typo_1.SANS_4_5, { style: { paddingBottom: "2rem" }, semibold: true }, title)),
98
104
  react_1.default.createElement("div", { style: {
99
- height: "".concat(70 * data.length, "px"),
105
+ height: "".concat((configs.barHeight + configs.barGap) * data.length, "px"),
100
106
  width: "100%",
101
- padding: "2rem",
102
- paddingTop: 0,
103
107
  } },
104
108
  react_1.default.createElement(recharts_1.ResponsiveContainer, { width: "100%", height: "100%" },
105
109
  react_1.default.createElement(recharts_1.BarChart, { width: 500, height: 500, barCategoryGap: 20, data: data, layout: "vertical", margin: {
106
- top: 15,
110
+ top: 0,
107
111
  right: 60,
108
112
  left: 0,
109
113
  bottom: 0,
110
114
  } },
111
115
  react_1.default.createElement(recharts_1.XAxis, { hide: true, type: "number" }),
112
116
  react_1.default.createElement(recharts_1.YAxis, { hide: true, type: "category", width: 250, dataKey: labelPath }),
113
- react_1.default.createElement(recharts_1.Bar, { radius: [2, 4, 4, 2], style: { cursor: "pointer" }, dataKey: "value", unit: "%", onMouseOver: function (args) { return setActiveBar(args[labelPath]); }, onMouseOut: function () { return setActiveBar(undefined); }, onMouseDown: function (args) {
114
- setActiveBar(args[labelPath]);
115
- onClick(args[labelPath]);
116
- } },
117
+ react_1.default.createElement(recharts_1.Bar, __assign({ radius: [2, 4, 4, 2], style: onClick ? { cursor: "pointer" } : {}, dataKey: "value" }, (onClick
118
+ ? {
119
+ onMouseOver: function (args) { return setActiveBar(args[labelPath]); },
120
+ onMouseOut: function () { return setActiveBar(undefined); },
121
+ onMouseDown: function (args) {
122
+ setActiveBar(args[labelPath]);
123
+ onClick(args[labelPath]);
124
+ },
125
+ }
126
+ : {})),
117
127
  react_1.default.createElement(recharts_1.LabelList, { dataKey: labelPath, position: "top", content: function (props) {
118
128
  return renderCustomizedLabel({
119
129
  y: props.y,
@@ -127,10 +137,10 @@ var PercentBarChart = function (_a) {
127
137
  width: props.width,
128
138
  height: props.height,
129
139
  value: props.value,
130
- suffix: "%",
140
+ suffix: valueSuffix,
131
141
  opacity: changeBarOpacityFn(props[labelPath]),
132
142
  });
133
143
  } }),
134
- data.map(function (entry, index) { return (react_1.default.createElement(recharts_1.Cell, { opacity: changeBarOpacityFn(entry[labelPath]), key: "cell-".concat(index), height: 30, fill: entry.color })); })))))));
144
+ data.map(function (entry, index) { return (react_1.default.createElement(recharts_1.Cell, { opacity: changeBarOpacityFn(entry[labelPath]), key: "cell-".concat(index), height: configs.barHeight, fill: entry.color })); })))))));
135
145
  };
136
146
  exports.PercentBarChart = PercentBarChart;
@@ -10,16 +10,16 @@ exports.default = {
10
10
  title: "Components/PercentBarChart",
11
11
  };
12
12
  var data = [
13
- { name: 'AAA/A1+', value: 72.3, Type: 0 },
14
- { name: 'Cash & Cash Equivalents', value: 10.1, Type: 1 },
15
- { name: 'Sovereign', value: 9.87, Type: 2 },
16
- { name: 'AA+', value: 5.63, Type: 3 },
13
+ { name: "Great food", value: 72.3, Type: 0 },
14
+ { name: "Great Ambience", value: 10.1, Type: 1 },
15
+ { name: "Great Music", value: 9.87, Type: 2 },
16
+ { name: "Great Cocktails", value: 5.63, Type: 3 },
17
17
  ];
18
18
  var PercentBarChart_ = function (args) {
19
19
  var handleBarClick = function (name) {
20
20
  console.log("Bar clicked: ".concat(name));
21
21
  };
22
22
  return (react_1.default.createElement("div", null,
23
- react_1.default.createElement(PercentBarChart_1.PercentBarChart, { data: data, labelPath: "name", valuePath: "value", title: "This is PercentBarChart representing the data", onClick: handleBarClick })));
23
+ react_1.default.createElement(PercentBarChart_1.PercentBarChart, { data: data, labelPath: "name", valuePath: "value", title: "This is PercentBarChart representing the data" })));
24
24
  };
25
25
  exports.PercentBarChart_ = PercentBarChart_;
@@ -21,3 +21,5 @@ export { getDaysDiff } from "../momentjs/getDaysDiff";
21
21
  export { stitchLink } from "../stitchLink";
22
22
  export { decideLinkCompAndTarget } from "../../components/cards/utils/decideLinkCompAndTarget";
23
23
  export { isExternalUrl } from "../../components/cards/utils/isExternalUrl";
24
+ export { getPercentage } from "../getPercentage";
25
+ export { getTotalCount } from "../getTotalCount";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isExternalUrl = exports.decideLinkCompAndTarget = exports.stitchLink = exports.getDaysDiff = exports.useContainerQuery = exports.useScreenWidth = exports.testJSON = exports.useHandleClickOutside = exports.usePopOutOfOverflowHiddenParent = exports.useScroll = exports.isStringMatch = exports.sortData = exports.makeArrayFromLength = exports.toArray = exports.formatCamelCaseToSentenceCase = exports.formatTextToCamelCase = exports.injectHttps = exports.getBlockLabelProps = exports.getKeyCode = exports.getText = exports.deleteVal = exports.setVal = exports.getVal = void 0;
3
+ exports.getTotalCount = exports.getPercentage = exports.isExternalUrl = exports.decideLinkCompAndTarget = exports.stitchLink = exports.getDaysDiff = exports.useContainerQuery = exports.useScreenWidth = exports.testJSON = exports.useHandleClickOutside = exports.usePopOutOfOverflowHiddenParent = exports.useScroll = exports.isStringMatch = exports.sortData = exports.makeArrayFromLength = exports.toArray = exports.formatCamelCaseToSentenceCase = exports.formatTextToCamelCase = exports.injectHttps = exports.getBlockLabelProps = exports.getKeyCode = exports.getText = exports.deleteVal = exports.setVal = exports.getVal = void 0;
4
4
  //the holy setter, getter & deleter
5
5
  var getVal_1 = require("../getterSetterDeleter/getVal");
6
6
  Object.defineProperty(exports, "getVal", { enumerable: true, get: function () { return getVal_1.getVal; } });
@@ -52,3 +52,7 @@ var decideLinkCompAndTarget_1 = require("../../components/cards/utils/decideLink
52
52
  Object.defineProperty(exports, "decideLinkCompAndTarget", { enumerable: true, get: function () { return decideLinkCompAndTarget_1.decideLinkCompAndTarget; } });
53
53
  var isExternalUrl_1 = require("../../components/cards/utils/isExternalUrl");
54
54
  Object.defineProperty(exports, "isExternalUrl", { enumerable: true, get: function () { return isExternalUrl_1.isExternalUrl; } });
55
+ var getPercentage_1 = require("../getPercentage");
56
+ Object.defineProperty(exports, "getPercentage", { enumerable: true, get: function () { return getPercentage_1.getPercentage; } });
57
+ var getTotalCount_1 = require("../getTotalCount");
58
+ Object.defineProperty(exports, "getTotalCount", { enumerable: true, get: function () { return getTotalCount_1.getTotalCount; } });
@@ -0,0 +1 @@
1
+ export declare const getPercentage: (d1: number, d2: number) => number;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPercentage = void 0;
4
+ var getPercentage = function (d1, d2) {
5
+ return (Math.round((d1 / d2) * 10000)) / 100;
6
+ };
7
+ exports.getPercentage = getPercentage;
@@ -0,0 +1,4 @@
1
+ export function getTotalCount({ data, countPath }: {
2
+ data: any;
3
+ countPath: any;
4
+ }): number;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTotalCount = void 0;
4
+ var _EXPORTS_1 = require("./_EXPORTS");
5
+ var getTotalCount = function (_a) {
6
+ var data = _a.data, countPath = _a.countPath;
7
+ var total = 0;
8
+ for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {
9
+ var d = data_1[_i];
10
+ var count = (0, _EXPORTS_1.getVal)(d, countPath);
11
+ total += count;
12
+ }
13
+ return total;
14
+ };
15
+ exports.getTotalCount = getTotalCount;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oolib",
3
- "version": "2.125.1",
3
+ "version": "2.125.3",
4
4
  "description": " OKE Component Library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",