pixelize-design-library 2.1.2 → 2.1.4
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.
- package/dist/Components/KaTable/CustomHeader.d.ts +14 -0
- package/dist/Components/KaTable/CustomHeader.js +69 -0
- package/dist/Components/KaTable/KaTable.d.ts +13 -0
- package/dist/Components/KaTable/KaTable.js +111 -0
- package/dist/Components/KaTable/KaTableProps.d.ts +23 -0
- package/dist/Components/KaTable/KaTableProps.js +2 -0
- package/dist/Components/KaTable/SelectionCell.d.ts +8 -0
- package/dist/Components/KaTable/SelectionCell.js +38 -0
- package/dist/Components/KaTable/SelectionHeader.d.ts +3 -0
- package/dist/Components/KaTable/SelectionHeader.js +56 -0
- package/dist/Components/KaTable/ka-table.css +27 -0
- package/dist/Components/KaTable/useMergedChildComponents.d.ts +14 -0
- package/dist/Components/KaTable/useMergedChildComponents.js +224 -0
- package/dist/Components/ProductCard/ProductCard.d.ts +3 -0
- package/dist/Components/ProductCard/ProductCard.js +52 -0
- package/dist/Components/ProductCard/ProductCardProps.d.ts +26 -0
- package/dist/Components/ProductCard/ProductCardProps.js +2 -0
- package/dist/Components/ProductCard/ProductLabel.d.ts +6 -0
- package/dist/Components/ProductCard/ProductLabel.js +14 -0
- package/dist/Components/ProductCard/ProductPrice.d.ts +7 -0
- package/dist/Components/ProductCard/ProductPrice.js +88 -0
- package/dist/Components/ProductCard/ProductReview.d.ts +7 -0
- package/dist/Components/ProductCard/ProductReview.js +23 -0
- package/dist/Components/ProductCard/ProductTags.d.ts +7 -0
- package/dist/Components/ProductCard/ProductTags.js +30 -0
- package/dist/Components/SearchSelect/SearchSelect.d.ts +1 -1
- package/dist/Components/SearchSelect/SearchSelect.js +14 -7
- package/dist/Components/SearchSelect/SearchSelectProps.d.ts +1 -0
- package/dist/Components/Table/Table.d.ts +0 -1
- package/dist/Components/Table/Table.js +14 -2
- package/dist/Layout.js +5 -1
- package/dist/Pages/KaTableExample.d.ts +3 -0
- package/dist/Pages/KaTableExample.js +259 -0
- package/dist/Pages/productCaard.d.ts +3 -0
- package/dist/Pages/productCaard.js +32 -0
- package/dist/Pages/searchSelect.js +4 -35
- package/dist/Theme/Default/fonts.d.ts +35 -0
- package/dist/Theme/Default/fonts.js +37 -0
- package/package.json +1 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.ProductCard = void 0;
|
|
30
|
+
var react_1 = __importStar(require("react"));
|
|
31
|
+
var react_2 = require("@chakra-ui/react");
|
|
32
|
+
var ProductTags_1 = __importDefault(require("./ProductTags"));
|
|
33
|
+
var ProductReview_1 = __importDefault(require("./ProductReview"));
|
|
34
|
+
var ProductPrice_1 = __importDefault(require("./ProductPrice"));
|
|
35
|
+
var Button_1 = __importDefault(require("../Button/Button"));
|
|
36
|
+
var ProductLabel_1 = __importDefault(require("./ProductLabel"));
|
|
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, bag = _a.bag, description = _a.description;
|
|
39
|
+
var _b = (0, react_1.useState)(false), hover = _b[0], setHover = _b[1];
|
|
40
|
+
return (react_1.default.createElement(react_2.Box, { borderWidth: "0.063 rem", borderRadius: "lg", overflow: "hidden", p: 3, w: "16.25rem", position: "relative", bg: "white", boxShadow: "lg" },
|
|
41
|
+
react_1.default.createElement(react_2.Box, { onMouseEnter: function () { return setHover(true); }, onMouseLeave: function () { return setHover(false); }, h: "11.25rem", w: "full", overflow: "hidden" },
|
|
42
|
+
react_1.default.createElement(react_2.Image, { src: hover && productImage.hover ? productImage.hover : productImage.visibile, alt: label, w: "full", h: "full", objectFit: "cover" }),
|
|
43
|
+
bag && (react_1.default.createElement(react_2.Badge, { colorScheme: bag.color || "red", position: "absolute", top: 2, right: 2 }, bag.label))),
|
|
44
|
+
react_1.default.createElement(react_2.VStack, { spacing: 2, align: "start", mt: 3 },
|
|
45
|
+
react_1.default.createElement(ProductLabel_1.default, { label: label, description: description }),
|
|
46
|
+
tags && react_1.default.createElement(ProductTags_1.default, { tags: tags }),
|
|
47
|
+
rating && reviews &&
|
|
48
|
+
react_1.default.createElement(ProductReview_1.default, { rating: rating, reviewCount: reviews }),
|
|
49
|
+
options && react_1.default.createElement(ProductPrice_1.default, { options: options }),
|
|
50
|
+
onAddToCart && react_1.default.createElement(Button_1.default, { colorScheme: "orange", size: "sm", width: "100%", onClick: onAddToCart }, "Add to Cart"))));
|
|
51
|
+
};
|
|
52
|
+
exports.ProductCard = ProductCard;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type ProductCardProps = {
|
|
2
|
+
label: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
productImage: productImage;
|
|
5
|
+
tags?: string[];
|
|
6
|
+
rating?: string | number;
|
|
7
|
+
reviews?: string | number;
|
|
8
|
+
options?: options[];
|
|
9
|
+
onClick?: () => void;
|
|
10
|
+
onAddToCart?: () => void;
|
|
11
|
+
bag?: bag;
|
|
12
|
+
};
|
|
13
|
+
export type options = {
|
|
14
|
+
label: string;
|
|
15
|
+
weight: number;
|
|
16
|
+
price: number;
|
|
17
|
+
offer: number;
|
|
18
|
+
};
|
|
19
|
+
export type bag = {
|
|
20
|
+
label: string;
|
|
21
|
+
color?: string;
|
|
22
|
+
};
|
|
23
|
+
export type productImage = {
|
|
24
|
+
visibile: string;
|
|
25
|
+
hover?: string;
|
|
26
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = require("@chakra-ui/react");
|
|
7
|
+
var react_2 = __importDefault(require("react"));
|
|
8
|
+
var ProductLabel = function (_a) {
|
|
9
|
+
var label = _a.label, description = _a.description;
|
|
10
|
+
return (react_2.default.createElement(react_1.Box, null,
|
|
11
|
+
react_2.default.createElement(react_1.Text, { fontWeight: "bold" }, label),
|
|
12
|
+
description && react_2.default.createElement(react_1.Text, { fontSize: "xs", fontStyle: "italic" }, description)));
|
|
13
|
+
};
|
|
14
|
+
exports.default = ProductLabel;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
var react_1 = __importStar(require("react"));
|
|
27
|
+
var react_2 = require("@chakra-ui/react");
|
|
28
|
+
var ProductPrice = function (_a) {
|
|
29
|
+
var options = _a.options;
|
|
30
|
+
var _b = (0, react_1.useState)(false), isOpen = _b[0], setIsOpen = _b[1];
|
|
31
|
+
var _c = (0, react_1.useState)(options[0]), selected = _c[0], setSelected = _c[1];
|
|
32
|
+
var _d = (0, react_1.useState)({ top: 0, left: 0, width: 0 }), dropdownPosition = _d[0], setDropdownPosition = _d[1];
|
|
33
|
+
var buttonRef = (0, react_1.useRef)(null);
|
|
34
|
+
var dropdownRef = (0, react_1.useRef)(null);
|
|
35
|
+
var isSingleOption = options.length === 1;
|
|
36
|
+
(0, react_2.useOutsideClick)({
|
|
37
|
+
ref: dropdownRef,
|
|
38
|
+
handler: function () { return setIsOpen(false); },
|
|
39
|
+
});
|
|
40
|
+
var getDiscountedPrice = function (option) {
|
|
41
|
+
return Math.round(option.price - (option.price * option.offer) / 100);
|
|
42
|
+
};
|
|
43
|
+
(0, react_1.useEffect)(function () {
|
|
44
|
+
if (isOpen && buttonRef.current) {
|
|
45
|
+
var rect = buttonRef.current.getBoundingClientRect();
|
|
46
|
+
setDropdownPosition({
|
|
47
|
+
top: rect.bottom + window.scrollY,
|
|
48
|
+
left: rect.left + window.scrollX,
|
|
49
|
+
width: rect.width,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}, [isOpen]);
|
|
53
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
54
|
+
isSingleOption ? (react_1.default.createElement(react_2.Box, { border: "0.063rem solid", borderColor: "orange.300", bg: "#FFFCF5", px: 3, py: 1, rounded: "md", display: "inline-block", w: "100%" },
|
|
55
|
+
react_1.default.createElement(react_2.Text, { fontSize: "sm", fontWeight: "medium" }, options[0].label))) : (react_1.default.createElement(react_2.Box, { ref: buttonRef, onClick: function () { return setIsOpen(!isOpen); }, border: "0.063rem solid", borderColor: "orange.300", bg: "#FFFCF5", px: 3, py: 1, rounded: "md", cursor: "pointer", display: "flex", justifyContent: "space-between", alignItems: "center", w: "100%" },
|
|
56
|
+
react_1.default.createElement(react_2.Text, { fontSize: "sm", fontWeight: "medium" }, selected.label),
|
|
57
|
+
react_1.default.createElement(react_2.Text, { fontSize: "xs", color: "orange.400", transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)', transition: "transform 0.2s" }, "\u25BE"))),
|
|
58
|
+
!isSingleOption && isOpen && (react_1.default.createElement(react_2.Portal, null,
|
|
59
|
+
react_1.default.createElement(react_2.Box, { ref: dropdownRef, position: "absolute", top: "".concat(dropdownPosition.top, "px"), left: "".concat(dropdownPosition.left, "px"), width: "".concat(dropdownPosition.width, "px"), bg: "white", border: "0.063rem solid", borderColor: "orange.300", shadow: "md", zIndex: 9999 }, options.map(function (option) {
|
|
60
|
+
var discounted = getDiscountedPrice(option);
|
|
61
|
+
var isSelected = selected.weight === option.weight;
|
|
62
|
+
return (react_1.default.createElement(react_2.Box, { key: option.weight, px: 4, h: "2.5rem", cursor: "pointer", bg: isSelected ? 'orange.50' : 'white', _hover: { bg: 'orange.100' }, onClick: function () {
|
|
63
|
+
setSelected(option);
|
|
64
|
+
setIsOpen(false);
|
|
65
|
+
}, display: "flex", alignItems: "center", justifyContent: "space-between" },
|
|
66
|
+
react_1.default.createElement(react_2.Box, null,
|
|
67
|
+
react_1.default.createElement(react_2.Text, { fontSize: "sm", fontWeight: "medium" }, option.label),
|
|
68
|
+
option.offer > 0 && (react_1.default.createElement(react_2.Text, { fontSize: "xs", color: "green.600", fontWeight: "semibold" },
|
|
69
|
+
option.offer,
|
|
70
|
+
"% OFF"))),
|
|
71
|
+
react_1.default.createElement(react_2.Box, { textAlign: "right" },
|
|
72
|
+
react_1.default.createElement(react_2.Text, { fontSize: "sm", fontWeight: "semibold", color: "orange.500" },
|
|
73
|
+
"\u20B9",
|
|
74
|
+
discounted),
|
|
75
|
+
option.offer > 0 && (react_1.default.createElement(react_2.Text, { fontSize: "xs", color: "gray.400", textDecoration: "line-through" },
|
|
76
|
+
"\u20B9",
|
|
77
|
+
option.price))),
|
|
78
|
+
react_1.default.createElement(react_2.Box, { ml: 4, w: "1rem", h: "1rem", minW: "1rem", borderRadius: "full", border: "0.125rem solid", borderColor: isSelected ? 'orange.400' : 'gray.300', display: "flex", alignItems: "center", justifyContent: "center" }, isSelected && (react_1.default.createElement(react_2.Box, { w: "0.5rem", h: "0.5rem", bg: "orange.400", borderRadius: "full" })))));
|
|
79
|
+
})))),
|
|
80
|
+
react_1.default.createElement(react_2.Box, { mt: 2, display: "flex", alignItems: "center", fontSize: "sm", gap: 2 },
|
|
81
|
+
selected.offer > 0 && (react_1.default.createElement(react_2.Text, { color: "gray.400", textDecoration: "line-through" },
|
|
82
|
+
"\u20B9",
|
|
83
|
+
selected.price)),
|
|
84
|
+
react_1.default.createElement(react_2.Text, { color: "orange.500", fontWeight: "semibold" },
|
|
85
|
+
"\u20B9",
|
|
86
|
+
getDiscountedPrice(selected)))));
|
|
87
|
+
};
|
|
88
|
+
exports.default = ProductPrice;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var react_2 = require("@chakra-ui/react");
|
|
8
|
+
var lucide_react_1 = require("lucide-react");
|
|
9
|
+
var ProductReview = function (_a) {
|
|
10
|
+
var rating = _a.rating, reviewCount = _a.reviewCount;
|
|
11
|
+
return (react_1.default.createElement(react_2.Flex, { align: "center", gap: 2 },
|
|
12
|
+
react_1.default.createElement(react_2.Flex, { align: "center", gap: "1", bg: "teal.900", color: "white", px: 2, borderRadius: "md", fontSize: "sm", fontWeight: "bold" },
|
|
13
|
+
react_1.default.createElement(react_2.Icon, { as: lucide_react_1.Star, boxSize: 3.5 }),
|
|
14
|
+
react_1.default.createElement(react_2.Text, null, rating)),
|
|
15
|
+
react_1.default.createElement(react_2.Box, { h: "4", w: "0.063rem", bg: "gray.400" }),
|
|
16
|
+
react_1.default.createElement(react_2.Flex, { align: "center", gap: "1" },
|
|
17
|
+
react_1.default.createElement(react_2.Icon, { as: lucide_react_1.BookCheck, boxSize: 3.5 }),
|
|
18
|
+
react_1.default.createElement(react_2.Text, { fontSize: "sm", color: "gray.600" },
|
|
19
|
+
"(",
|
|
20
|
+
reviewCount,
|
|
21
|
+
")"))));
|
|
22
|
+
};
|
|
23
|
+
exports.default = ProductReview;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var react_2 = require("@chakra-ui/react");
|
|
8
|
+
var ProductTags = function (_a) {
|
|
9
|
+
var tags = _a.tags, className = _a.className;
|
|
10
|
+
var getRows = function (tags) {
|
|
11
|
+
var count = tags.length;
|
|
12
|
+
if (count === 1)
|
|
13
|
+
return [tags];
|
|
14
|
+
if (count === 2)
|
|
15
|
+
return [tags];
|
|
16
|
+
if (count === 3)
|
|
17
|
+
return [[tags[0]], tags.slice(1)];
|
|
18
|
+
if (count === 4)
|
|
19
|
+
return [tags.slice(0, 2), tags.slice(2, 4)];
|
|
20
|
+
return [];
|
|
21
|
+
};
|
|
22
|
+
return (react_1.default.createElement(react_2.Flex, { direction: "column", gap: "1", className: className, w: "full" }, getRows(tags).map(function (row, rowIndex) { return (react_1.default.createElement(react_2.Flex, { key: rowIndex, gap: "1" }, row.map(function (tag, tagIndex) { return (
|
|
23
|
+
// <></>
|
|
24
|
+
react_1.default.createElement(Tag, { key: tagIndex, fullWidth: row.length === 1 }, tag)); }))); })));
|
|
25
|
+
};
|
|
26
|
+
var Tag = function (_a) {
|
|
27
|
+
var children = _a.children, _b = _a.fullWidth, fullWidth = _b === void 0 ? false : _b;
|
|
28
|
+
return (react_1.default.createElement(react_2.Box, { flex: fullWidth ? '1' : '1', border: "0.063rem solid #f89f24", color: "black", fontSize: "0.625rem", fontWeight: "semibold", borderRadius: "full", px: "0.5rem", py: "0.125rem", textAlign: "center", whiteSpace: "nowrap", backgroundColor: "orange.100" }, children));
|
|
29
|
+
};
|
|
30
|
+
exports.default = ProductTags;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SearchSelectProps } from './SearchSelectProps';
|
|
3
|
-
declare const SearchSelect: ({ id, label, options, onSelect, onSearch, isOptionLoading, isLoading, loadingText, placeholder, value, searchQuery, isMultiple, isRequired, error, errorMessage, helperText, width, height, size, chip, information, rightIcon, addNew, isSelectAll, pagination, insideSelect }: SearchSelectProps) => React.JSX.Element;
|
|
3
|
+
declare const SearchSelect: ({ id, label, options, onSelect, onSearch, isOptionLoading, isLoading, loadingText, placeholder, value, searchQuery, isMultiple, isRequired, error, errorMessage, helperText, width, height, size, chip, information, rightIcon, addNew, isSelectAll, pagination, insideSelect, isRemoveAllIcon, dropdownProfileView }: SearchSelectProps) => React.JSX.Element;
|
|
4
4
|
export default SearchSelect;
|
|
@@ -59,7 +59,7 @@ var normalizeMultiValue = function (val) {
|
|
|
59
59
|
};
|
|
60
60
|
var SearchSelect = function (_a) {
|
|
61
61
|
var _b, _c, _d, _e, _f;
|
|
62
|
-
var id = _a.id, label = _a.label, options = _a.options, onSelect = _a.onSelect, onSearch = _a.onSearch, _g = _a.isOptionLoading, isOptionLoading = _g === void 0 ? false : _g, _h = _a.isLoading, isLoading = _h === void 0 ? false : _h, _j = _a.loadingText, loadingText = _j === void 0 ? 'Loading...' : _j, _k = _a.placeholder, placeholder = _k === void 0 ? 'Select' : _k, value = _a.value, _l = _a.searchQuery, searchQuery = _l === void 0 ? '' : _l, _m = _a.isMultiple, isMultiple = _m === void 0 ? false : _m, _o = _a.isRequired, isRequired = _o === void 0 ? false : _o, _p = _a.error, error = _p === void 0 ? false : _p, errorMessage = _a.errorMessage, helperText = _a.helperText, _q = _a.width, width = _q === void 0 ? '100%' : _q, _r = _a.height, height = _r === void 0 ? "2.75rem" : _r, _s = _a.size, size = _s === void 0 ? 'md' : _s, chip = _a.chip, information = _a.information, rightIcon = _a.rightIcon, addNew = _a.addNew, _t = _a.isSelectAll, isSelectAll = _t === void 0 ? false : _t, pagination = _a.pagination, insideSelect = _a.insideSelect;
|
|
62
|
+
var id = _a.id, label = _a.label, options = _a.options, onSelect = _a.onSelect, onSearch = _a.onSearch, _g = _a.isOptionLoading, isOptionLoading = _g === void 0 ? false : _g, _h = _a.isLoading, isLoading = _h === void 0 ? false : _h, _j = _a.loadingText, loadingText = _j === void 0 ? 'Loading...' : _j, _k = _a.placeholder, placeholder = _k === void 0 ? 'Select' : _k, value = _a.value, _l = _a.searchQuery, searchQuery = _l === void 0 ? '' : _l, _m = _a.isMultiple, isMultiple = _m === void 0 ? false : _m, _o = _a.isRequired, isRequired = _o === void 0 ? false : _o, _p = _a.error, error = _p === void 0 ? false : _p, errorMessage = _a.errorMessage, helperText = _a.helperText, _q = _a.width, width = _q === void 0 ? '100%' : _q, _r = _a.height, height = _r === void 0 ? "2.75rem" : _r, _s = _a.size, size = _s === void 0 ? 'md' : _s, chip = _a.chip, information = _a.information, rightIcon = _a.rightIcon, addNew = _a.addNew, _t = _a.isSelectAll, isSelectAll = _t === void 0 ? false : _t, pagination = _a.pagination, insideSelect = _a.insideSelect, isRemoveAllIcon = _a.isRemoveAllIcon, dropdownProfileView = _a.dropdownProfileView;
|
|
63
63
|
var _u = (0, react_1.useState)(searchQuery), inputValue = _u[0], setInputValue = _u[1];
|
|
64
64
|
var _v = (0, react_1.useState)(false), isOpen = _v[0], setIsOpen = _v[1];
|
|
65
65
|
var _w = (0, react_1.useState)(true), hasMore = _w[0], setHasMore = _w[1];
|
|
@@ -183,7 +183,7 @@ var SearchSelect = function (_a) {
|
|
|
183
183
|
return (react_1.default.createElement(react_2.Box, { ref: containerRef, width: width, position: "relative" },
|
|
184
184
|
label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, id: id, isRequired: isRequired, isInformation: information === null || information === void 0 ? void 0 : information.isInformation, informationMessage: information === null || information === void 0 ? void 0 : information.informationMessage })),
|
|
185
185
|
react_1.default.createElement(react_2.InputGroup, { size: size },
|
|
186
|
-
react_1.default.createElement(react_2.Box, { as: "div", w: "100%", minH: "2.
|
|
186
|
+
react_1.default.createElement(react_2.Box, { as: "div", w: "100%", minH: "2.85rem", px: 3, display: "flex", alignItems: "center", flexWrap: "wrap", gap: "0.375rem", border: "0.063rem solid", borderColor: error ? theme.colors.semantic.error[500] : theme.colors.primary[500], borderRadius: "0.25rem", bg: "white", boxShadow: focused ? error ? "0 0 0 0.125rem ".concat((_b = theme.colors.boxShadow) === null || _b === void 0 ? void 0 : _b.error) : "0 0 0 0.125rem ".concat((_c = theme.colors.boxShadow) === null || _c === void 0 ? void 0 : _c.primary) : 'none', transition: "box-shadow 0.2s, border-color 0.2s" },
|
|
187
187
|
insideSelect && (react_1.default.createElement(react_2.Box, { position: "relative", ref: customSelectRef, backgroundColor: theme.colors.gray[200], ml: "-0.75rem", h: "-webkit-fill-available", borderRadius: "0.25rem 0 0 0.25rem", onClick: function () { return setCustomSelectOpen(function (prev) { return !prev; }); } },
|
|
188
188
|
react_1.default.createElement(react_2.Box, { minW: "5rem", cursor: "pointer", display: "flex", justifyContent: "space-between", alignItems: "center", width: insideSelect.width, height: height, pl: "0.5rem", pr: "0.5rem" },
|
|
189
189
|
react_1.default.createElement(SelectTruncatedLabel_1.default, { label: (_e = (_d = insideSelect === null || insideSelect === void 0 ? void 0 : insideSelect.value) === null || _d === void 0 ? void 0 : _d.label) !== null && _e !== void 0 ? _e : "", maxWidth: (insideSelect === null || insideSelect === void 0 ? void 0 : insideSelect.width) || "6rem" }),
|
|
@@ -202,12 +202,12 @@ var SearchSelect = function (_a) {
|
|
|
202
202
|
(chip === null || chip === void 0 ? void 0 : chip.maxChips) &&
|
|
203
203
|
isMultiple &&
|
|
204
204
|
selectedValues.length > chip.maxChips && (react_1.default.createElement(Tag_1.default, { key: "extra-count", label: "+ ".concat(selectedValues.length - chip.maxChips), colorScheme: "gray", size: "sm" })),
|
|
205
|
-
(!selectedValues.length || isMultiple
|
|
205
|
+
(isMultiple || inputValue || !selectedValues.length || !isMultiple) && (react_1.default.createElement(react_2.Input, { ref: inputRef, variant: "unstyled", flex: "1", minW: "5rem", value: inputValue, onChange: function (e) { return setInputValue(e.target.value); }, onFocus: function () {
|
|
206
206
|
setFocused(true);
|
|
207
207
|
setIsOpen(true);
|
|
208
208
|
}, onBlur: function () { return setFocused(false); }, placeholder: placeholder })),
|
|
209
209
|
react_1.default.createElement(react_2.Box, { ml: "auto", display: "flex", alignItems: "center", gap: 1 },
|
|
210
|
-
selectedValues.length > 0 && (react_1.default.createElement(ToolTip_1.default, { placement: "top", label: "Remove All", hasArrow: true, bg: theme.colors.gray[600], color: theme.colors.white, fontSize: "0.75rem" },
|
|
210
|
+
isRemoveAllIcon && selectedValues.length > 0 && (react_1.default.createElement(ToolTip_1.default, { placement: "top", label: "Remove All", hasArrow: true, bg: theme.colors.gray[600], color: theme.colors.white, fontSize: "0.75rem" },
|
|
211
211
|
react_1.default.createElement(react_2.IconButton, { icon: react_1.default.createElement(lucide_react_1.X, { size: 12, color: theme.colors.black }), "aria-label": "Clear all", variant: "ghost", size: "sm", onClick: handleClearAll, sx: {
|
|
212
212
|
bg: 'transparent',
|
|
213
213
|
_hover: { bg: 'transparent' },
|
|
@@ -225,9 +225,16 @@ var SearchSelect = function (_a) {
|
|
|
225
225
|
react_1.default.createElement(react_2.Text, { fontSize: "sm" }, allFilteredSelected ? 'Unselect All' : 'Select All'))),
|
|
226
226
|
react_1.default.createElement(react_2.Box, { flex: "1", overflowY: "auto", onScroll: handleScroll, maxH: "15rem", borderBottom: "0.063rem solid", borderColor: theme.colors.gray[200] }, isOptionLoading ? (react_1.default.createElement(react_2.Box, { p: 3, display: "flex", alignItems: "center", gap: 2 },
|
|
227
227
|
react_1.default.createElement(react_2.Spinner, { size: "sm" }),
|
|
228
|
-
react_1.default.createElement(react_2.Text, { fontSize: "sm" }, loadingText))) : filteredOptions.length === 0 ? (react_1.default.createElement(react_2.Text, { p: 3, fontSize: "sm", color: theme.colors.gray[500] }, "No results found")) : (filteredOptions.map(function (option) {
|
|
229
|
-
|
|
230
|
-
react_1.default.createElement(react_2.
|
|
228
|
+
react_1.default.createElement(react_2.Text, { fontSize: "sm" }, loadingText))) : filteredOptions.length === 0 ? (react_1.default.createElement(react_2.Text, { p: 3, fontSize: "sm", color: theme.colors.gray[500] }, "No results found")) : (filteredOptions.map(function (option) {
|
|
229
|
+
var _a, _b;
|
|
230
|
+
return (react_1.default.createElement(react_2.Box, { key: option.id, p: 2, px: 3, cursor: "pointer", bg: isSelected(option.id) ? theme.colors.gray[100] : 'transparent', _hover: { bg: theme.colors.gray[50] }, onClick: function () { return handleSelect(option); }, display: "flex", alignItems: "center", gap: 2, borderBottom: "0.063rem solid ".concat(theme.colors.gray[100]) },
|
|
231
|
+
isMultiple && (react_1.default.createElement(react_2.Checkbox, { isChecked: isSelected(option.id), pointerEvents: "none", colorScheme: "blue" })),
|
|
232
|
+
dropdownProfileView ? react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center", gap: 3 },
|
|
233
|
+
react_1.default.createElement(react_2.Box, { w: "2rem", h: "2rem", borderRadius: "full", bg: option.color || 'gray.300', color: "white", display: "flex", justifyContent: "center", alignItems: "center", fontSize: "sm", fontWeight: "medium", overflow: "hidden" }, option.profileUrl ? (react_1.default.createElement(react_2.Box, { as: "img", src: option.profileUrl, alt: option.label, w: "100%", h: "100%", objectFit: "cover" })) : ((_b = (_a = option.label) === null || _a === void 0 ? void 0 : _a.charAt(0)) === null || _b === void 0 ? void 0 : _b.toUpperCase())),
|
|
234
|
+
react_1.default.createElement(react_2.Box, null,
|
|
235
|
+
react_1.default.createElement(react_2.Text, { fontSize: "sm", fontWeight: "semibold", color: "gray.800" }, option.label),
|
|
236
|
+
option.email && (react_1.default.createElement(react_2.Text, { fontSize: "xs", color: "gray.500" }, option.email)))) : react_1.default.createElement(react_2.Text, { fontSize: "sm" }, option.label)));
|
|
237
|
+
}))),
|
|
231
238
|
(addNew === null || addNew === void 0 ? void 0 : addNew.enabled) && (react_1.default.createElement(react_2.Box, { p: 2, borderTop: "0.063rem solid", borderColor: theme.colors.gray[200], bg: "white", display: "flex", alignItems: "center", gap: 2, cursor: "pointer", onClick: addNew.onClick, _hover: { bg: theme.colors.gray[50] } },
|
|
232
239
|
addNew.icon || react_1.default.createElement(lucide_react_1.Plus, { size: 16 }),
|
|
233
240
|
react_1.default.createElement(react_2.Text, { fontSize: "sm" }, addNew.text || 'Add New'))))),
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { TableProps } from "./TableProps";
|
|
3
|
-
import "./Table.css";
|
|
4
3
|
export default function Table({ data, columns, onSelection, isLoading, isCheckbox, headerBgColor, freezedBgColor, headerTextColor, freezedTextColor, tableBorderColor, noBorders, isPagination, onRowClick, selections, isActionFreeze, preferencesUrl, preferencesKey, preferencesName, preferencesPage, authToken, paginationMode, noOfRowsPerPage, totalRecords, onPagination, isTableSettings, headerActions, }: TableProps): React.JSX.Element;
|
|
@@ -34,7 +34,6 @@ var TableHeader_1 = __importDefault(require("./Components/TableHeader"));
|
|
|
34
34
|
var TableBody_1 = __importDefault(require("./Components/TableBody"));
|
|
35
35
|
var useCustomTheme_1 = require("../../Theme/useCustomTheme");
|
|
36
36
|
var useTable_1 = __importDefault(require("./Components/useTable"));
|
|
37
|
-
require("./Table.css");
|
|
38
37
|
var table_1 = require("../../Utils/table");
|
|
39
38
|
var usePreferences_1 = require("../../Hooks/usePreferences");
|
|
40
39
|
var TableSettings_1 = __importDefault(require("./TableSettings/TableSettings"));
|
|
@@ -104,7 +103,20 @@ function Table(_a) {
|
|
|
104
103
|
(isPagination || isServerPagination) && (react_1.default.createElement(react_2.Box, { ml: "auto" },
|
|
105
104
|
react_1.default.createElement(Pagination_1.default, { columns: columns, currentPage: currentPage, setCurrentPage: setCurrentPage, rowsPerPage: rowsPerPage, pages: pages, paginationText: tablePaginationText, handlePageSizeChange: handlePageSizeChange, dataLength: tableData.length, isServerPagination: isServerPagination, isVisiblity: true })))),
|
|
106
105
|
react_1.default.createElement(react_2.TableContainer, { maxH: 500, overflowY: "auto" },
|
|
107
|
-
react_1.default.createElement(react_3.Table, { variant: "simple", size: "sm", overflowX: "scroll", minW: "100%", className: "table_wrapper"
|
|
106
|
+
react_1.default.createElement(react_3.Table, { variant: "simple", size: "sm", overflowX: "scroll", minW: "100%", className: "table_wrapper", sx: {
|
|
107
|
+
width: "100%",
|
|
108
|
+
borderCollapse: "collapse",
|
|
109
|
+
"th .resize-handle": {
|
|
110
|
+
position: "absolute",
|
|
111
|
+
top: 0,
|
|
112
|
+
right: 0,
|
|
113
|
+
width: "8px",
|
|
114
|
+
height: "100%",
|
|
115
|
+
cursor: "col-resize",
|
|
116
|
+
backgroundColor: "transparent",
|
|
117
|
+
zIndex: 999,
|
|
118
|
+
},
|
|
119
|
+
} },
|
|
108
120
|
react_1.default.createElement(react_3.Thead, { position: "sticky", top: -0.5, zIndex: 2 },
|
|
109
121
|
react_1.default.createElement(TableHeader_1.default, { columns: columnsList, isCheckbox: isCheckbox, headerBgColor: headerBgColor !== null && headerBgColor !== void 0 ? headerBgColor : theme.colors.backgroundColor.muted, headerTextColor: headerTextColor !== null && headerTextColor !== void 0 ? headerTextColor : (_e = theme.colors) === null || _e === void 0 ? void 0 : _e.gray[600], freezedBgColor: freezedBgColor !== null && freezedBgColor !== void 0 ? freezedBgColor : theme.colors.backgroundColor.secondary, freezedTextColor: freezedTextColor !== null && freezedTextColor !== void 0 ? freezedTextColor : (_f = theme.colors) === null || _f === void 0 ? void 0 : _f.gray[600], handleSort: handleSort, headerRefs: headerRefs, columnWidths: columnWidths, columnsSort: columnsSort, noBorders: noBorders, handleCheckbox: handleCheckbox, isLoading: isTableLoading, checked: tableData.length !== 0 && selection.length === tableData.length
|
|
110
122
|
? true
|
package/dist/Layout.js
CHANGED
|
@@ -57,6 +57,7 @@ var checkbox_1 = __importDefault(require("./Pages/checkbox"));
|
|
|
57
57
|
var toster_1 = __importDefault(require("./Pages/toster"));
|
|
58
58
|
var input_1 = __importDefault(require("./Pages/input"));
|
|
59
59
|
var alertdialog_1 = __importDefault(require("./Pages/alertdialog"));
|
|
60
|
+
var productCaard_1 = __importDefault(require("./Pages/productCaard"));
|
|
60
61
|
var table_1 = require("./Pages/table");
|
|
61
62
|
var TInput_1 = __importDefault(require("./Pages/TInput"));
|
|
62
63
|
var kanbanboard_1 = __importDefault(require("./Pages/kanbanboard"));
|
|
@@ -188,6 +189,8 @@ var Layout = function () {
|
|
|
188
189
|
react_2.default.createElement(react_1.Button, { colorScheme: "purple" }, "Sign Up")) }));
|
|
189
190
|
case "/upload":
|
|
190
191
|
return react_2.default.createElement(fileUpload_1.FileUploader, null);
|
|
192
|
+
case "/productCard":
|
|
193
|
+
return react_2.default.createElement(productCaard_1.default, null);
|
|
191
194
|
case "/tag":
|
|
192
195
|
return (react_2.default.createElement(Tag_1.default, { label: "tag", icon: lucide_react_1.Home, size: "md", colorScheme: "gray", onIconClick: function () { return console.log("Icon"); }, onTagClick: function () { return console.log("Tag"); } }));
|
|
193
196
|
case "/":
|
|
@@ -233,7 +236,8 @@ var Layout = function () {
|
|
|
233
236
|
react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/kanban"); }, variant: "outline", size: "sm" }, "Kanban"),
|
|
234
237
|
react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/tag"); }, variant: "outline", size: "sm" }, "Tag"),
|
|
235
238
|
react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/header"); }, variant: "outline", size: "sm" }, "Header"),
|
|
236
|
-
react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/upload"); }, variant: "outline", size: "sm" }, "File Upload")
|
|
239
|
+
react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/upload"); }, variant: "outline", size: "sm" }, "File Upload"),
|
|
240
|
+
react_2.default.createElement(react_1.Button, { onClick: function () { return navigate("/productCard"); }, variant: "outline" }, "Product Card")),
|
|
237
241
|
react_2.default.createElement("br", null),
|
|
238
242
|
react_2.default.createElement("br", null),
|
|
239
243
|
react_2.default.createElement("h2", { className: "text-3xl" }, " TailWindCss"),
|