pixelize-design-library 2.2.93 → 2.2.94
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.
|
@@ -26,7 +26,7 @@ var MobileMenu = function (_a) {
|
|
|
26
26
|
: "transparent", _hover: { bg: hoverBg }, rightIcon: openMenuLabel === item.label ? (react_2.default.createElement(lucide_react_1.ChevronDown, { size: 16 })) : (react_2.default.createElement(lucide_react_1.ChevronRight, { size: 16 })), px: 2 },
|
|
27
27
|
react_2.default.createElement(react_1.HStack, { w: "full", justify: "space-between", align: "center" },
|
|
28
28
|
react_2.default.createElement(react_1.VStack, { spacing: 0, align: "start" },
|
|
29
|
-
item.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_b = (_a = item === null || item === void 0 ? void 0 : item.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", fontSize: "0.6em" }, item.badge.label)),
|
|
29
|
+
item.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_b = (_a = item === null || item === void 0 ? void 0 : item.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", fontSize: "0.6em", borderRadius: "full", px: 2, py: 0.5 }, item.badge.label)),
|
|
30
30
|
react_2.default.createElement(react_1.Text, { fontWeight: "bold" }, item.label)))),
|
|
31
31
|
react_2.default.createElement(react_1.Collapse, { in: openMenuLabel === item.label, animateOpacity: true },
|
|
32
32
|
react_2.default.createElement(react_1.Stack, { pl: 4, mt: 1, spacing: 1 }, item.children.map(function (subItem) {
|
|
@@ -37,10 +37,10 @@ var MobileMenu = function (_a) {
|
|
|
37
37
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
38
38
|
}, variant: "ghost", w: "full", justifyContent: "flex-start", color: color, bg: isActive(subItem.href) ? activeBg : "transparent", _hover: { bg: hoverBg } },
|
|
39
39
|
react_2.default.createElement(react_1.VStack, { spacing: 0, align: "start" },
|
|
40
|
-
subItem.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_b = (_a = subItem === null || subItem === void 0 ? void 0 : subItem.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", fontSize: "0.6em" }, (_c = subItem.badge) === null || _c === void 0 ? void 0 : _c.label)),
|
|
40
|
+
subItem.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_b = (_a = subItem === null || subItem === void 0 ? void 0 : subItem.badge) === null || _a === void 0 ? void 0 : _a.colorScheme) !== null && _b !== void 0 ? _b : "blue", fontSize: "0.6em", borderRadius: "full", px: 2, py: 0.5 }, (_c = subItem.badge) === null || _c === void 0 ? void 0 : _c.label)),
|
|
41
41
|
react_2.default.createElement(react_1.HStack, { spacing: 2, align: "center" },
|
|
42
42
|
react_2.default.createElement(react_1.Box, { boxSize: "0.4rem", borderRadius: "full", bg: "currentColor" }),
|
|
43
|
-
react_2.default.createElement(react_1.Text, { fontSize: "
|
|
43
|
+
react_2.default.createElement(react_1.Text, { fontSize: "sm" }, subItem.label)))));
|
|
44
44
|
}))))) : (react_2.default.createElement(react_1.Button, { key: item.label, onClick: function () { var _a; (_a = item.onClick) === null || _a === void 0 ? void 0 : _a.call(item); onClose === null || onClose === void 0 ? void 0 : onClose(); }, variant: "ghost", w: "full", justifyContent: "flex-start", color: color, bg: isActive(item.href) ? activeBg : "transparent", _hover: { bg: hoverBg } },
|
|
45
45
|
react_2.default.createElement(react_1.VStack, { spacing: 0, align: "start" },
|
|
46
46
|
item.badge && (react_2.default.createElement(react_1.Badge, { colorScheme: (_d = (_c = item === null || item === void 0 ? void 0 : item.badge) === null || _c === void 0 ? void 0 : _c.colorScheme) !== null && _d !== void 0 ? _d : "blue", fontSize: "0.6em" }, (_e = item.badge) === null || _e === void 0 ? void 0 : _e.label)),
|
|
@@ -10,10 +10,20 @@ var ProductReview = function (_a) {
|
|
|
10
10
|
var rating = _a.rating, reviewCount = _a.reviewCount, _b = _a.mb, mb = _b === void 0 ? 0 : _b;
|
|
11
11
|
var hasRating = rating !== undefined && rating !== null;
|
|
12
12
|
var hasReviewCount = reviewCount !== undefined && reviewCount !== null;
|
|
13
|
+
// Get colors from theme
|
|
14
|
+
var yellow400 = (0, react_2.useToken)('colors', ['yellow.400'])[0];
|
|
15
|
+
// Convert rating to number and ensure it's between 0 and 5
|
|
16
|
+
// Calculate fill percentage: (rating / 5) * 100%
|
|
17
|
+
var numericRating = hasRating ? Math.min(Math.max(Number(rating), 0), 5) : 0;
|
|
18
|
+
var fillPercentage = (numericRating / 6) * 100;
|
|
13
19
|
return (react_1.default.createElement(react_2.Flex, { align: "center", gap: 2, mb: mb },
|
|
14
|
-
hasRating && (react_1.default.createElement(react_2.Flex, { align: "center", gap:
|
|
15
|
-
react_1.default.createElement(react_2.
|
|
16
|
-
|
|
20
|
+
hasRating && (react_1.default.createElement(react_2.Flex, { align: "center", gap: 1, bg: "teal.900", color: "white", px: 2, borderRadius: "md" },
|
|
21
|
+
react_1.default.createElement(react_2.Box, { position: "relative", flexShrink: 0, display: "inline-block", width: "14px", height: "14px", lineHeight: 0 },
|
|
22
|
+
react_1.default.createElement(react_2.Box, { position: "absolute", top: 0, left: 0, width: "14px", height: "14px" },
|
|
23
|
+
react_1.default.createElement(lucide_react_1.Star, { size: 14, color: "white", fill: "none", stroke: "white", strokeWidth: 1.5 })),
|
|
24
|
+
fillPercentage > 0 && (react_1.default.createElement(react_2.Box, { position: "absolute", top: 0, left: 0, width: "".concat(fillPercentage, "%"), height: "100%", overflow: "hidden" },
|
|
25
|
+
react_1.default.createElement(lucide_react_1.Star, { size: 14, color: yellow400, fill: yellow400 })))),
|
|
26
|
+
react_1.default.createElement(react_2.Text, { fontSize: "sm", fontWeight: "bold", color: "white" }, numericRating))),
|
|
17
27
|
hasRating && hasReviewCount && react_1.default.createElement(react_2.Box, { h: "4", w: "0.063rem", bg: "gray.400" }),
|
|
18
28
|
hasReviewCount && (react_1.default.createElement(react_2.Flex, { align: "center", gap: "1" },
|
|
19
29
|
react_1.default.createElement(react_2.Icon, { as: lucide_react_1.BookCheck, boxSize: 3.5 }),
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var react_1 = __importDefault(require("react"));
|
|
7
7
|
var react_2 = require("@chakra-ui/react");
|
|
8
|
+
var ToolTip_1 = __importDefault(require("../ToolTip/ToolTip"));
|
|
8
9
|
var ProductTags = function (_a) {
|
|
9
10
|
var tags = _a.tags, className = _a.className, _b = _a.size, size = _b === void 0 ? 'sm' : _b;
|
|
10
11
|
var getRows = function (tags) {
|
|
@@ -30,6 +31,20 @@ var Tag = function (_a) {
|
|
|
30
31
|
md: { fontSize: '0.875rem', px: '0.75rem', py: '0.3rem' },
|
|
31
32
|
lg: { fontSize: '0.938rem', px: '0.938rem', py: '0.4rem' },
|
|
32
33
|
};
|
|
33
|
-
|
|
34
|
+
var ref = react_1.default.useRef(null);
|
|
35
|
+
var _d = react_1.default.useState(false), truncated = _d[0], setTruncated = _d[1];
|
|
36
|
+
react_1.default.useEffect(function () {
|
|
37
|
+
var el = ref.current;
|
|
38
|
+
if (!el)
|
|
39
|
+
return;
|
|
40
|
+
var check = function () { return setTruncated(el.scrollWidth > el.clientWidth); };
|
|
41
|
+
check();
|
|
42
|
+
window.addEventListener('resize', check);
|
|
43
|
+
return function () {
|
|
44
|
+
window.removeEventListener('resize', check);
|
|
45
|
+
};
|
|
46
|
+
}, [children]);
|
|
47
|
+
var content = (react_1.default.createElement(react_2.Box, { ref: ref, flex: fullWidth ? '1' : '1', border: "0.063rem solid #f9aaa4", color: "black", fontSize: tagSizes[size].fontSize, fontWeight: "semibold", borderRadius: "full", px: tagSizes[size].px, py: tagSizes[size].py, textAlign: "center", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children));
|
|
48
|
+
return truncated ? (react_1.default.createElement(ToolTip_1.default, { label: String(children), hasArrow: true, openDelay: 300, placement: 'bottom' }, content)) : (content);
|
|
34
49
|
};
|
|
35
50
|
exports.default = ProductTags;
|