@appcorp/kismaa-web-ui 0.2.76 → 0.2.77
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.
|
@@ -17,10 +17,16 @@ var react_1 = __importDefault(require("react"));
|
|
|
17
17
|
var rating_star_1 = require("../../atoms/rating-star");
|
|
18
18
|
var typography_1 = require("../typography");
|
|
19
19
|
var Ratings = function (_a) {
|
|
20
|
-
var rating = _a.rating, _b = _a.renderFraction, renderFraction = _b === void 0 ? true : _b, _c = _a.starsSize, starsSize = _c === void 0 ? 'size-4' : _c, _d = _a.isActive, isActive = _d === void 0 ? false : _d;
|
|
20
|
+
var rating = _a.rating, _b = _a.renderFraction, renderFraction = _b === void 0 ? true : _b, _c = _a.starsSize, starsSize = _c === void 0 ? 'size-4' : _c, _d = _a.isActive, isActive = _d === void 0 ? false : _d, _e = _a.onRatingChange, onRatingChange = _e === void 0 ? undefined : _e;
|
|
21
21
|
var totalStars = 5;
|
|
22
22
|
var fullStars = Math.floor(rating);
|
|
23
23
|
var decimalPart = rating % 1;
|
|
24
|
+
var isEditable = !!onRatingChange;
|
|
25
|
+
var handleStarClick = function (starIndex) {
|
|
26
|
+
if (isEditable && onRatingChange) {
|
|
27
|
+
onRatingChange(starIndex + 1);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
24
30
|
return (react_1.default.createElement("div", { className: "flex items-center gap-3" },
|
|
25
31
|
react_1.default.createElement("div", { className: "flex", "aria-label": "Rating: ".concat(rating, " out of 5 stars") }, __spreadArray([], Array(totalStars), true).map(function (_, index) {
|
|
26
32
|
var fillPercentage = 0;
|
|
@@ -30,7 +36,13 @@ var Ratings = function (_a) {
|
|
|
30
36
|
else if (index === fullStars && decimalPart > 0) {
|
|
31
37
|
fillPercentage = Math.round(decimalPart * 100);
|
|
32
38
|
}
|
|
33
|
-
return (react_1.default.createElement(
|
|
39
|
+
return (react_1.default.createElement("div", { key: index, onClick: function () { return handleStarClick(index); }, className: isEditable ? 'cursor-pointer' : '', role: isEditable ? 'button' : undefined, tabIndex: isEditable ? 0 : undefined, onKeyDown: function (e) {
|
|
40
|
+
if (isEditable && (e.key === 'Enter' || e.key === ' ')) {
|
|
41
|
+
e.preventDefault();
|
|
42
|
+
handleStarClick(index);
|
|
43
|
+
}
|
|
44
|
+
} },
|
|
45
|
+
react_1.default.createElement(rating_star_1.RatingStar, { className: starsSize, fillPercentage: fillPercentage, "aria-hidden": "true" })));
|
|
34
46
|
})),
|
|
35
47
|
renderFraction && (react_1.default.createElement("div", { className: "item-center flex" },
|
|
36
48
|
react_1.default.createElement("div", { className: "" },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appcorp/kismaa-web-ui",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.77",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "lib/main.js",
|
|
6
6
|
"module": "lib/module.js",
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
"@mdx-js/react": "^3",
|
|
55
55
|
"@next/eslint-plugin-next": "^15",
|
|
56
56
|
"@next/mdx": "^15",
|
|
57
|
+
"@popperjs/core": "^2.11.8",
|
|
57
58
|
"@react-pakistan/util-functions": "^1.24.57",
|
|
58
59
|
"@storybook/addon-docs": "^9",
|
|
59
60
|
"@storybook/addon-links": "^9",
|
|
@@ -94,6 +95,7 @@
|
|
|
94
95
|
"prettier-plugin-tailwindcss": "^0",
|
|
95
96
|
"react": "^19",
|
|
96
97
|
"react-dom": "^19",
|
|
98
|
+
"react-popper": "^2.3.0",
|
|
97
99
|
"react-timeago": "^8.3.0",
|
|
98
100
|
"rimraf": "^6",
|
|
99
101
|
"storybook": "^9",
|
|
@@ -105,9 +107,5 @@
|
|
|
105
107
|
"uuid": "^13",
|
|
106
108
|
"zod": "^4"
|
|
107
109
|
},
|
|
108
|
-
"packageManager": "yarn@4.
|
|
109
|
-
"dependencies": {
|
|
110
|
-
"@popperjs/core": "^2.11.8",
|
|
111
|
-
"react-popper": "^2.3.0"
|
|
112
|
-
}
|
|
110
|
+
"packageManager": "yarn@4.10.3"
|
|
113
111
|
}
|