pixelize-design-library 2.2.93 → 2.2.95

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: "xs" }, subItem.label)))));
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: "1", bg: "teal.900", color: "white", px: 2, borderRadius: "md", fontSize: "sm", fontWeight: "bold" },
15
- react_1.default.createElement(react_2.Icon, { as: lucide_react_1.Star, boxSize: 3.5, color: "yellow.400", fill: "yellow.400" }),
16
- react_1.default.createElement(react_2.Text, null, rating))),
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
- return (react_1.default.createElement(react_2.Box, { 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" }, children));
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;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { TableHeaderProps } from "../TableProps";
3
+ interface ActiveFiltersProps {
4
+ columns: TableHeaderProps[];
5
+ columnsSearch: Record<string, string>;
6
+ setColumnsSearch: React.Dispatch<React.SetStateAction<Record<string, string>>>;
7
+ }
8
+ declare const ActiveFilters: React.FC<ActiveFiltersProps>;
9
+ export default ActiveFilters;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var react_1 = __importDefault(require("react"));
18
+ var react_2 = require("@chakra-ui/react");
19
+ var lucide_react_1 = require("lucide-react");
20
+ var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
21
+ var Divider_1 = __importDefault(require("../../Divider/Divider"));
22
+ var ActiveFilters = function (_a) {
23
+ var _b, _c, _d, _e, _f, _g, _h, _j;
24
+ var columns = _a.columns, columnsSearch = _a.columnsSearch, setColumnsSearch = _a.setColumnsSearch;
25
+ var theme = (0, useCustomTheme_1.useCustomTheme)();
26
+ // Get active filters (columns that have a search value)
27
+ var activeFilters = Object.entries(columnsSearch)
28
+ .filter(function (_a) {
29
+ var _ = _a[0], value = _a[1];
30
+ return value && value.trim() !== "";
31
+ })
32
+ .map(function (_a) {
33
+ var columnId = _a[0], value = _a[1];
34
+ var column = columns.find(function (col) { return col.id === columnId; });
35
+ return {
36
+ columnId: columnId,
37
+ label: (column === null || column === void 0 ? void 0 : column.label) || columnId,
38
+ value: value.trim(),
39
+ };
40
+ });
41
+ if (activeFilters.length === 0) {
42
+ return null;
43
+ }
44
+ var handleRemoveFilter = function (columnId) {
45
+ setColumnsSearch(function (prev) {
46
+ var newSearch = __assign({}, prev);
47
+ delete newSearch[columnId];
48
+ return newSearch;
49
+ });
50
+ };
51
+ var handleClearAll = function () {
52
+ setColumnsSearch({});
53
+ };
54
+ return (react_1.default.createElement(react_2.Box, { px: 2, py: 1, bg: ((_c = (_b = theme.colors) === null || _b === void 0 ? void 0 : _b.background) === null || _c === void 0 ? void 0 : _c[100]) || ((_e = (_d = theme.colors) === null || _d === void 0 ? void 0 : _d.gray) === null || _e === void 0 ? void 0 : _e[50]), overflowX: "auto", sx: {
55
+ '&::-webkit-scrollbar': {
56
+ height: '6px',
57
+ },
58
+ '&::-webkit-scrollbar-track': {
59
+ background: theme.colors.gray[100],
60
+ borderRadius: '3px',
61
+ },
62
+ '&::-webkit-scrollbar-thumb': {
63
+ background: theme.colors.gray[400],
64
+ borderRadius: '3px',
65
+ },
66
+ '&::-webkit-scrollbar-thumb:hover': {
67
+ background: theme.colors.gray[500],
68
+ },
69
+ scrollbarWidth: 'thin',
70
+ scrollbarColor: "".concat(theme.colors.gray[400], " ").concat(theme.colors.gray[100]),
71
+ } },
72
+ react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center", gap: 2, flexWrap: "nowrap", minW: "max-content" },
73
+ activeFilters.length > 0 && react_1.default.createElement(Divider_1.default, null),
74
+ activeFilters.map(function (filter) {
75
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
76
+ return (react_1.default.createElement(react_2.Flex, { key: filter.columnId, alignItems: "center", gap: 1, px: 2, py: 1, bg: ((_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a.blue) === null || _b === void 0 ? void 0 : _b[50]) || ((_d = (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.primary) === null || _d === void 0 ? void 0 : _d[50]), borderRadius: "md", border: "0.063rem solid ".concat(((_f = (_e = theme.colors) === null || _e === void 0 ? void 0 : _e.blue) === null || _f === void 0 ? void 0 : _f[200]) || ((_h = (_g = theme.colors) === null || _g === void 0 ? void 0 : _g.primary) === null || _h === void 0 ? void 0 : _h[200])), flexShrink: 0 },
77
+ react_1.default.createElement(react_2.Text, { fontSize: "sm", color: (_k = (_j = theme.colors) === null || _j === void 0 ? void 0 : _j.gray) === null || _k === void 0 ? void 0 : _k[700], whiteSpace: "nowrap" },
78
+ react_1.default.createElement(react_2.Text, { as: "span", fontWeight: 600 },
79
+ filter.label,
80
+ ":"),
81
+ " ",
82
+ filter.value),
83
+ react_1.default.createElement(react_2.IconButton, { "aria-label": "Remove filter for ".concat(filter.label), icon: react_1.default.createElement(lucide_react_1.X, { size: 14 }), size: "xs", variant: "ghost", onClick: function () { return handleRemoveFilter(filter.columnId); }, _hover: {
84
+ bg: ((_m = (_l = theme.colors) === null || _l === void 0 ? void 0 : _l.blue) === null || _m === void 0 ? void 0 : _m[100]) || ((_p = (_o = theme.colors) === null || _o === void 0 ? void 0 : _o.primary) === null || _p === void 0 ? void 0 : _p[100]),
85
+ }, minW: "auto", h: "auto", p: 0.5, flexShrink: 0 })));
86
+ }),
87
+ activeFilters.length > 1 && (react_1.default.createElement(react_2.Text, { fontSize: "sm", color: ((_g = (_f = theme.colors) === null || _f === void 0 ? void 0 : _f.blue) === null || _g === void 0 ? void 0 : _g[600]) || ((_j = (_h = theme.colors) === null || _h === void 0 ? void 0 : _h.primary) === null || _j === void 0 ? void 0 : _j[600]), cursor: "pointer", fontWeight: 500, onClick: handleClearAll, _hover: {
88
+ textDecoration: "underline",
89
+ }, flexShrink: 0, whiteSpace: "nowrap" }, "Clear all")))));
90
+ };
91
+ exports.default = ActiveFilters;
@@ -1,4 +1,7 @@
1
1
  import React from "react";
2
2
  import { TableFiltersProps } from "../TableProps";
3
- declare const TableFilters: React.MemoExoticComponent<({ header, setColumnsSearch, columnsSearch, onClose }: TableFiltersProps) => React.JSX.Element>;
3
+ declare const TableFilters: React.MemoExoticComponent<({ header, setColumnsSearch, columnsSearch, onClose, isOpen, onOpen, }: TableFiltersProps & {
4
+ isOpen?: boolean | undefined;
5
+ onOpen?: (() => void) | undefined;
6
+ }) => React.JSX.Element>;
4
7
  export default TableFilters;
@@ -28,7 +28,7 @@ var react_2 = require("@chakra-ui/react");
28
28
  var table_1 = require("../../../Utils/table");
29
29
  var lucide_react_1 = require("lucide-react");
30
30
  var TableFilters = (0, react_1.memo)(function (_a) {
31
- var header = _a.header, setColumnsSearch = _a.setColumnsSearch, columnsSearch = _a.columnsSearch, onClose = _a.onClose;
31
+ var header = _a.header, setColumnsSearch = _a.setColumnsSearch, columnsSearch = _a.columnsSearch, onClose = _a.onClose, isOpen = _a.isOpen, onOpen = _a.onOpen;
32
32
  var searchRef = (0, react_1.useRef)(null);
33
33
  var _b = (0, react_1.useState)(false), refreshDataOnOpen = _b[0], setRefreshDataOnOpen = _b[1];
34
34
  var debounceRef = (0, table_1.debounce)(function (value) {
@@ -40,9 +40,21 @@ var TableFilters = (0, react_1.memo)(function (_a) {
40
40
  }
41
41
  /* eslint-disable */
42
42
  }, [refreshDataOnOpen]);
43
- return (react_1.default.createElement(react_2.Popover, { onClose: onClose, onOpen: function () {
44
- setRefreshDataOnOpen(function (prev) { return !prev; });
45
- } },
43
+ // Auto-focus input when popover opens
44
+ (0, react_1.useEffect)(function () {
45
+ if (isOpen && searchRef.current) {
46
+ // Small delay to ensure popover is fully rendered
47
+ setTimeout(function () {
48
+ var _a;
49
+ (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
50
+ }, 100);
51
+ }
52
+ }, [isOpen]);
53
+ var handleOpen = function () {
54
+ setRefreshDataOnOpen(function (prev) { return !prev; });
55
+ onOpen === null || onOpen === void 0 ? void 0 : onOpen();
56
+ };
57
+ return (react_1.default.createElement(react_2.Popover, { isOpen: isOpen, onClose: onClose, onOpen: handleOpen },
46
58
  react_1.default.createElement(react_2.PopoverTrigger, null,
47
59
  react_1.default.createElement(react_2.IconButton, { "aria-label": "Search", icon: react_1.default.createElement(lucide_react_1.EllipsisVertical, { size: 17 }), size: "xs", variant: "ghost", _hover: { bg: "none" } })),
48
60
  react_1.default.createElement(react_2.Portal, null,
@@ -50,7 +62,7 @@ var TableFilters = (0, react_1.memo)(function (_a) {
50
62
  react_1.default.createElement(react_2.PopoverBody, { p: 2 },
51
63
  react_1.default.createElement(react_2.InputGroup, { flex: "1", size: "xs" },
52
64
  react_1.default.createElement(react_2.InputLeftElement, { pointerEvents: "none" },
53
- react_1.default.createElement(lucide_react_1.Search, { color: "gray.300" })),
65
+ react_1.default.createElement(react_2.Icon, { as: lucide_react_1.Search, color: "gray.400", boxSize: 4 })),
54
66
  react_1.default.createElement(react_2.Input, { autoFocus: true, placeholder: "Search ".concat(header.label, "..."), size: "xs", ref: searchRef, onChange: function (e) {
55
67
  e.stopPropagation();
56
68
  debounceRef(e.target.value);
@@ -47,6 +47,7 @@ var Checkbox_1 = __importDefault(require("../../Checkbox/Checkbox"));
47
47
  var TableHeader = function (_a) {
48
48
  var columns = _a.columns, isCheckbox = _a.isCheckbox, handleSort = _a.handleSort, headerRefs = _a.headerRefs, columnWidths = _a.columnWidths, columnsSort = _a.columnsSort, headerBgColor = _a.headerBgColor, headerTextColor = _a.headerTextColor, freezedBgColor = _a.freezedBgColor, freezedTextColor = _a.freezedTextColor, noBorders = _a.noBorders, handleCheckbox = _a.handleCheckbox, checked = _a.checked, isLoading = _a.isLoading, isContent = _a.isContent, isLink = _a.isLink, isActionFreeze = _a.isActionFreeze, setColumnsSearch = _a.setColumnsSearch, columnsSearch = _a.columnsSearch;
49
49
  var theme = (0, useCustomTheme_1.useCustomTheme)();
50
+ var _b = (0, react_2.useState)(null), openFilterId = _b[0], setOpenFilterId = _b[1];
50
51
  var RenderCheckbox = (0, react_2.useCallback)(function () {
51
52
  var _a, _b, _c, _d;
52
53
  return (react_2.default.createElement(react_1.Th, { w: 6, fontSize: 14, fontWeight: 600, color: freezedTextColor, textTransform: "capitalize", backgroundColor: (_c = (_b = (_a = theme.colors) === null || _a === void 0 ? void 0 : _a.table) === null || _b === void 0 ? void 0 : _b.hover) === null || _c === void 0 ? void 0 : _c[600], borderY: noBorders ? "none" : "0.063rem solid ".concat((_d = theme.colors) === null || _d === void 0 ? void 0 : _d.gray[300]), position: "sticky", className: "columns sticky-columns", left: "0px", zIndex: 9, boxShadow: "2px 0 5px rgba(0, 0, 0, 0.1)" },
@@ -73,7 +74,7 @@ var TableHeader = function (_a) {
73
74
  columns.map(function (header, index) {
74
75
  if (header === null || header === void 0 ? void 0 : header.isHidden)
75
76
  return null;
76
- return (react_2.default.createElement(ColumnHeader, { header: header, index: index, key: header.label, columnWidths: columnWidths, handleSort: handleSort, isCheckbox: isCheckbox, headerBgColor: headerBgColor, headerTextColor: headerTextColor, freezedBgColor: freezedBgColor, freezedTextColor: freezedTextColor, noBorders: noBorders, columnsSort: columnsSort, headerRefs: headerRefs, columnsSearch: columnsSearch, setColumnsSearch: setColumnsSearch }));
77
+ return (react_2.default.createElement(ColumnHeader, { header: header, index: index, key: header.label, columnWidths: columnWidths, handleSort: handleSort, isCheckbox: isCheckbox, headerBgColor: headerBgColor, headerTextColor: headerTextColor, freezedBgColor: freezedBgColor, freezedTextColor: freezedTextColor, noBorders: noBorders, columnsSort: columnsSort, headerRefs: headerRefs, columnsSearch: columnsSearch, setColumnsSearch: setColumnsSearch, openFilterId: openFilterId, setOpenFilterId: setOpenFilterId }));
77
78
  }),
78
79
  isLink && react_2.default.createElement(RenderView, null)));
79
80
  };
@@ -88,7 +89,7 @@ var SortingIcon = (0, react_2.memo)(function (_a) {
88
89
  });
89
90
  var ColumnHeader = (0, react_2.memo)(function (_a) {
90
91
  var _b, _c, _d, _e, _f, _g;
91
- var header = _a.header, index = _a.index, columnWidths = _a.columnWidths, isCheckbox = _a.isCheckbox, headerTextColor = _a.headerTextColor, freezedTextColor = _a.freezedTextColor, noBorders = _a.noBorders, columnsSort = _a.columnsSort, headerRefs = _a.headerRefs, columnsSearch = _a.columnsSearch, setColumnsSearch = _a.setColumnsSearch, handleSort = _a.handleSort;
92
+ var header = _a.header, index = _a.index, columnWidths = _a.columnWidths, isCheckbox = _a.isCheckbox, headerTextColor = _a.headerTextColor, freezedTextColor = _a.freezedTextColor, noBorders = _a.noBorders, columnsSort = _a.columnsSort, headerRefs = _a.headerRefs, columnsSearch = _a.columnsSearch, setColumnsSearch = _a.setColumnsSearch, handleSort = _a.handleSort, openFilterId = _a.openFilterId, setOpenFilterId = _a.setOpenFilterId;
92
93
  var _h = (0, react_2.useState)(false), isHovered = _h[0], setIsHovered = _h[1];
93
94
  var theme = (0, useCustomTheme_1.useCustomTheme)();
94
95
  var isFrozen = header.isFreeze;
@@ -142,6 +143,9 @@ var ColumnHeader = (0, react_2.memo)(function (_a) {
142
143
  var _a;
143
144
  return (__assign(__assign({}, prev), (_a = {}, _a[header.id] = searchVal, _a)));
144
145
  });
145
- }, columnsSearch: columnsSearch[header.id] || "", onClose: function () { return setIsHovered(false); } })),
146
+ }, columnsSearch: columnsSearch[header.id] || "", onClose: function () {
147
+ setIsHovered(false);
148
+ setOpenFilterId(null);
149
+ }, isOpen: openFilterId === header.id, onOpen: function () { return setOpenFilterId(header.id); } })),
146
150
  react_2.default.createElement("div", { className: "resize-handle", onMouseDown: handleMouseDown }))));
147
151
  });
@@ -40,6 +40,7 @@ var TableSettings_1 = __importDefault(require("./TableSettings/TableSettings"));
40
40
  var HeaderActions_1 = __importDefault(require("./Components/HeaderActions"));
41
41
  var Divider_1 = __importDefault(require("../Divider/Divider"));
42
42
  var TableSearch_1 = __importDefault(require("./Components/TableSearch"));
43
+ var ActiveFilters_1 = __importDefault(require("./Components/ActiveFilters"));
43
44
  function Table(_a) {
44
45
  var _b, _c, _d, _e, _f, _g;
45
46
  var data = _a.data, columns = _a.columns, onSelection = _a.onSelection, isLoading = _a.isLoading, _h = _a.isCheckbox, isCheckbox = _h === void 0 ? false : _h, headerBgColor = _a.headerBgColor, freezedBgColor = _a.freezedBgColor, headerTextColor = _a.headerTextColor, freezedTextColor = _a.freezedTextColor, tableBorderColor = _a.tableBorderColor, _j = _a.noBorders, noBorders = _j === void 0 ? false : _j, _k = _a.isPagination, isPagination = _k === void 0 ? true : _k, onRowClick = _a.onRowClick, selections = _a.selections, _l = _a.isActionFreeze, isActionFreeze = _l === void 0 ? true : _l, _m = _a.preferences, preferences = _m === void 0 ? {
@@ -52,11 +53,6 @@ function Table(_a) {
52
53
  } : _m, _o = _a.paginationMode, paginationMode = _o === void 0 ? "client" : _o, _p = _a.noOfRowsPerPage, noOfRowsPerPage = _p === void 0 ? 50 : _p, _q = _a.totalRecords, totalRecords = _q === void 0 ? 0 : _q, onPagination = _a.onPagination, _r = _a.isTableSettings, isTableSettings = _r === void 0 ? false : _r, headerActions = _a.headerActions, onGlobalSearch = _a.onGlobalSearch, tableSettings = _a.tableSettings;
53
54
  var theme = (0, useCustomTheme_1.useCustomTheme)();
54
55
  var _s = (0, react_1.useState)({}), columnsSearch = _s[0], setColumnsSearch = _s[1];
55
- // useEffect(() => {
56
- // if (onColumnFilter) {
57
- // onColumnFilter(columnsSearch);
58
- // }
59
- // }, [columnsSearch, onColumnFilter]);
60
56
  var isServerPagination = paginationMode === "server";
61
57
  var _t = (0, usePreferences_1.useGetPreferences)({
62
58
  baseUrl: preferences.url,
@@ -114,7 +110,8 @@ function Table(_a) {
114
110
  selection.length ? (react_1.default.createElement(react_1.default.Fragment, null,
115
111
  react_1.default.createElement(Divider_1.default, null),
116
112
  react_1.default.createElement(HeaderActions_1.default, { actions: headerActions, selections: selection }))) : null,
117
- (isPagination || isServerPagination) && (react_1.default.createElement(react_2.Box, { ml: "auto" },
113
+ react_1.default.createElement(ActiveFilters_1.default, { columns: columnsList, columnsSearch: columnsSearch, setColumnsSearch: setColumnsSearch }),
114
+ (isPagination || isServerPagination) && (react_1.default.createElement(react_2.Box, { ml: "auto", minW: 310 },
118
115
  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 })))),
119
116
  react_1.default.createElement(react_2.TableContainer, { maxH: 500, overflowY: "auto", sx: {
120
117
  '&::-webkit-scrollbar': {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelize-design-library",
3
- "version": "2.2.93",
3
+ "version": "2.2.95",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",