pixelize-design-library 2.1.36 → 2.1.38

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,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { ProductCardProps } from './ProductCardProps';
3
- declare const ProductCard: ({ label, productImage, rating, reviews, tags, options, onAddToCart, batch, description, avalabilitys, onClick, size, }: ProductCardProps) => React.JSX.Element;
3
+ declare const ProductCard: ({ label, productImage, rating, reviews, tags, options, button, batch, description, avalabilitys, onClick, size, }: ProductCardProps) => React.JSX.Element;
4
4
  export default ProductCard;
@@ -35,26 +35,29 @@ var Button_1 = __importDefault(require("../Button/Button"));
35
35
  var ProductLabel_1 = __importDefault(require("./ProductLabel"));
36
36
  var useCustomTheme_1 = require("../../Theme/useCustomTheme");
37
37
  var ProductCard = function (_a) {
38
- var label = _a.label, productImage = _a.productImage, rating = _a.rating, reviews = _a.reviews, tags = _a.tags, options = _a.options, onAddToCart = _a.onAddToCart, batch = _a.batch, description = _a.description, avalabilitys = _a.avalabilitys, onClick = _a.onClick, _b = _a.size, size = _b === void 0 ? 'sm' : _b;
39
- var _c = (0, react_1.useState)(false), hover = _c[0], setHover = _c[1];
38
+ var _b;
39
+ var label = _a.label, productImage = _a.productImage, rating = _a.rating, reviews = _a.reviews, tags = _a.tags, options = _a.options, button = _a.button, batch = _a.batch, description = _a.description, avalabilitys = _a.avalabilitys, onClick = _a.onClick, _c = _a.size, size = _c === void 0 ? "sm" : _c;
40
+ var _d = (0, react_1.useState)(false), hover = _d[0], setHover = _d[1];
40
41
  var theme = (0, useCustomTheme_1.useCustomTheme)();
41
42
  var sizeStyles = {
42
- xs: { cardWidth: '16.25rem', imgHeight: '11.25rem', padding: 3, },
43
- sm: { cardWidth: '18rem', imgHeight: '13rem', padding: 4, },
44
- md: { cardWidth: '20rem', imgHeight: '15rem', padding: 5, },
45
- lg: { cardWidth: '22rem', imgHeight: '17rem', padding: 6, },
43
+ xs: { cardWidth: "16.25rem", imgHeight: "11.25rem", padding: 3 },
44
+ sm: { cardWidth: "18rem", imgHeight: "13rem", padding: 4 },
45
+ md: { cardWidth: "20rem", imgHeight: "15rem", padding: 5 },
46
+ lg: { cardWidth: "22rem", imgHeight: "17rem", padding: 6 },
46
47
  };
47
- var _d = sizeStyles[size], cardWidth = _d.cardWidth, imgHeight = _d.imgHeight, padding = _d.padding;
48
+ var _e = sizeStyles[size], cardWidth = _e.cardWidth, imgHeight = _e.imgHeight, padding = _e.padding;
48
49
  var allowedSizes = ["sm", "md", "lg", "xl", "xs"];
49
50
  var safeSize = allowedSizes.includes(size) ? size : "md";
50
51
  return (react_1.default.createElement(react_2.Box, { borderWidth: "0.063rem", borderRadius: "lg", overflow: "hidden", w: cardWidth, position: "relative", bg: theme.colors.white, boxShadow: "lg" },
51
- react_1.default.createElement(react_2.Box, { onMouseEnter: function () { return setHover(true); }, onMouseLeave: function () { return setHover(false); }, h: imgHeight, w: "full", overflow: "hidden", onClick: onClick },
52
- react_1.default.createElement(react_2.Image, { src: hover && productImage.hover ? productImage.hover : productImage.visibile, alt: label, w: "full", h: "full" }),
53
- batch && (react_1.default.createElement(react_2.Badge, { colorScheme: batch.color || 'green', position: "absolute", top: 2, right: 2, fontSize: {
54
- xs: 'xs',
55
- sm: 'sm',
56
- md: 'md',
57
- lg: 'lg',
52
+ react_1.default.createElement(react_2.Box, { onMouseEnter: function () { return setHover(true); }, onMouseLeave: function () { return setHover(false); }, h: imgHeight, w: "full", overflow: "hidden", onClick: onClick, cursor: "pointer" },
53
+ react_1.default.createElement(react_2.Image, { src: hover && productImage.hover
54
+ ? productImage.hover
55
+ : productImage.visibile, alt: label, w: "full", h: "full" }),
56
+ batch && (react_1.default.createElement(react_2.Badge, { colorScheme: batch.color || "green", position: "absolute", top: 2, right: 2, fontSize: {
57
+ xs: "xs",
58
+ sm: "sm",
59
+ md: "md",
60
+ lg: "lg",
58
61
  }[size], px: {
59
62
  xs: 1,
60
63
  sm: 2,
@@ -67,9 +70,10 @@ var ProductCard = function (_a) {
67
70
  lg: 2,
68
71
  }[size] }, batch.label))),
69
72
  react_1.default.createElement(react_2.VStack, { spacing: 2, align: "start", p: padding },
70
- react_1.default.createElement(ProductLabel_1.default, { label: label, description: description, size: size }),
73
+ react_1.default.createElement(react_2.Box, { onClick: onClick, cursor: "pointer" },
74
+ react_1.default.createElement(ProductLabel_1.default, { label: label, description: description, size: size })),
71
75
  tags && react_1.default.createElement(ProductTags_1.default, { tags: tags, size: size }),
72
76
  options && react_1.default.createElement(ProductPrice_1.default, { options: options, size: size }),
73
- onAddToCart && (react_1.default.createElement(Button_1.default, { colorScheme: "red", size: safeSize, width: "100%", onClick: onAddToCart }, "Add to Cart")))));
77
+ (button === null || button === void 0 ? void 0 : button.onClick) && (react_1.default.createElement(Button_1.default, { colorScheme: "red", size: safeSize, width: "100%", onClick: button === null || button === void 0 ? void 0 : button.onClick }, (_b = button.label) !== null && _b !== void 0 ? _b : "Add to Cart")))));
74
78
  };
75
79
  exports.default = ProductCard;
@@ -8,6 +8,10 @@ export type ProductCardProps = {
8
8
  reviews?: string | number;
9
9
  options?: options[];
10
10
  onClick?: () => void;
11
+ button?: {
12
+ label: string;
13
+ onClick: () => void;
14
+ };
11
15
  onAddToCart?: () => void;
12
16
  batch?: batch;
13
17
  size?: SizeType;