pixelize-design-library 2.1.62 → 2.1.64
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/SearchSelect/SearchSelect.js +1 -1
- package/dist/Components/Table/TableSettings/ManageColumns.js +32 -18
- package/dist/index.d.mts +1468 -0
- package/dist/index.mjs +263 -0
- package/package.json +1 -1
- package/dist/Components/KaTable/CustomHeader.d.ts +0 -14
- package/dist/Components/KaTable/CustomHeader.js +0 -69
- package/dist/Components/KaTable/KaTable.d.ts +0 -13
- package/dist/Components/KaTable/KaTable.js +0 -111
- package/dist/Components/KaTable/KaTableProps.d.ts +0 -23
- package/dist/Components/KaTable/KaTableProps.js +0 -2
- package/dist/Components/KaTable/SelectionCell.d.ts +0 -8
- package/dist/Components/KaTable/SelectionCell.js +0 -38
- package/dist/Components/KaTable/SelectionHeader.d.ts +0 -3
- package/dist/Components/KaTable/SelectionHeader.js +0 -56
- package/dist/Components/KaTable/ka-table.css +0 -27
- package/dist/Components/KaTable/useMergedChildComponents.d.ts +0 -14
- package/dist/Components/KaTable/useMergedChildComponents.js +0 -224
- package/dist/Components/Table/Table.css +0 -16
- package/dist/Pages/KaTableExample.d.ts +0 -3
- package/dist/Pages/KaTableExample.js +0 -259
- package/dist/Theme/Default/fonts.d.ts +0 -35
- package/dist/Theme/Default/fonts.js +0 -37
|
@@ -225,7 +225,7 @@ var SearchSelect = function (_a) {
|
|
|
225
225
|
(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 () {
|
|
226
226
|
setFocused(true);
|
|
227
227
|
setIsOpen(true);
|
|
228
|
-
}, onBlur: function () { return setFocused(false); }, placeholder: placeholder })),
|
|
228
|
+
}, onBlur: function () { return setFocused(false); }, placeholder: selectedValues.length ? "" : placeholder })),
|
|
229
229
|
react_1.default.createElement(react_2.Box, { ml: "auto", display: "flex", alignItems: "center", gap: 1 },
|
|
230
230
|
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" },
|
|
231
231
|
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: {
|
|
@@ -54,19 +54,19 @@ var lucide_react_1 = require("lucide-react");
|
|
|
54
54
|
var ManageColumns = function (_a) {
|
|
55
55
|
var columns = _a.columns, childInputMethodsRef = _a.childInputMethodsRef;
|
|
56
56
|
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
57
|
-
|
|
57
|
+
// ✅ keep isHidden as it is (true = hidden, false = visible)
|
|
58
|
+
var _b = (0, react_1.useState)(columns), items = _b[0], setItems = _b[1];
|
|
58
59
|
var _c = (0, react_1.useState)(""), searchTerm = _c[0], setSearchTerm = _c[1];
|
|
59
60
|
var _d = (0, react_1.useState)(null), draggedItemIndex = _d[0], setDraggedItemIndex = _d[1];
|
|
61
|
+
var _e = (0, react_1.useState)(null), error = _e[0], setError = _e[1];
|
|
60
62
|
(0, react_1.useImperativeHandle)(childInputMethodsRef, function () {
|
|
61
63
|
return {
|
|
62
64
|
getManageColumnsData: function () {
|
|
63
|
-
return items
|
|
65
|
+
return items;
|
|
64
66
|
},
|
|
65
67
|
};
|
|
66
68
|
}, [items]);
|
|
67
|
-
var handleDragStart = function (index) {
|
|
68
|
-
setDraggedItemIndex(index);
|
|
69
|
-
};
|
|
69
|
+
var handleDragStart = function (index) { return setDraggedItemIndex(index); };
|
|
70
70
|
var handleDragOver = function (e, index) {
|
|
71
71
|
e.preventDefault();
|
|
72
72
|
if (draggedItemIndex === null || draggedItemIndex === index)
|
|
@@ -78,30 +78,44 @@ var ManageColumns = function (_a) {
|
|
|
78
78
|
setDraggedItemIndex(index);
|
|
79
79
|
setItems(newItems);
|
|
80
80
|
};
|
|
81
|
-
var handleDragEnd = function () {
|
|
82
|
-
|
|
83
|
-
};
|
|
81
|
+
var handleDragEnd = function () { return setDraggedItemIndex(null); };
|
|
82
|
+
// ✅ Prevent unchecking last visible column
|
|
84
83
|
var toggleCheckbox = function (index) {
|
|
85
84
|
var newItems = __spreadArray([], items, true);
|
|
85
|
+
var visibleCount = newItems.filter(function (i) { return !i.isHidden; }).length; // count visible
|
|
86
|
+
if (!newItems[index].isHidden && visibleCount === 1) {
|
|
87
|
+
setError("At least one column must remain visible.");
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
86
90
|
newItems[index].isHidden = !newItems[index].isHidden;
|
|
87
91
|
setItems(newItems);
|
|
92
|
+
setError(null);
|
|
88
93
|
};
|
|
89
94
|
var filteredItems = items.filter(function (item) {
|
|
90
95
|
return item.label.toString().toLowerCase().includes(searchTerm.toLowerCase());
|
|
91
96
|
});
|
|
97
|
+
// ✅ Select all logic
|
|
98
|
+
var allChecked = items.every(function (item) { return !item.isHidden; });
|
|
99
|
+
var someChecked = items.some(function (item) { return !item.isHidden; }) && !allChecked;
|
|
100
|
+
var handleSelectAll = function () {
|
|
101
|
+
if (allChecked) {
|
|
102
|
+
// if all visible → keep first visible, hide rest
|
|
103
|
+
setItems(items.map(function (item, i) { return (__assign(__assign({}, item), { isHidden: i === 0 ? false : true })); }));
|
|
104
|
+
setError("At least one column must remain visible.");
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
// make all visible
|
|
108
|
+
setItems(items.map(function (item) { return (__assign(__assign({}, item), { isHidden: false })); }));
|
|
109
|
+
setError(null);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
92
112
|
return (react_1.default.createElement(react_2.Box, { mt: "5" },
|
|
93
113
|
react_1.default.createElement(react_2.Input, { placeholder: "Search", mb: "4", value: searchTerm, onChange: function (e) { return setSearchTerm(e.target.value); } }),
|
|
94
114
|
!searchTerm.length && (react_1.default.createElement(react_2.Flex, { align: "center", mb: "2" },
|
|
95
|
-
react_1.default.createElement(Checkbox_1.default, { label: "Select all", isChecked:
|
|
96
|
-
|
|
97
|
-
setItems(items.map(function (item) { return (__assign(__assign({}, item), { isHidden: !allChecked })); }));
|
|
98
|
-
} }))),
|
|
99
|
-
react_1.default.createElement(react_2.List, { spacing: "2" }, filteredItems.length > 0 ? (filteredItems.map(function (item, index) { return (react_1.default.createElement(react_2.ListItem, { key: item.id, draggable: true, onDragStart: function () { return handleDragStart(index); }, onDragOver: function (e) { return handleDragOver(e, index); }, onDragEnd: handleDragEnd, bg: theme.colors.gray[50], display: "flex", alignItems: "center",
|
|
100
|
-
// justifyContent="space-between"
|
|
101
|
-
borderRadius: "md", border: "1px solid", borderColor: "gray.200", cursor: "grab", position: "relative", fontSize: 14 },
|
|
115
|
+
react_1.default.createElement(Checkbox_1.default, { label: "Select all", isChecked: allChecked, isIndeterminate: someChecked, onChange: handleSelectAll }))),
|
|
116
|
+
react_1.default.createElement(react_2.List, { spacing: "2" }, filteredItems.length > 0 ? (filteredItems.map(function (item, index) { return (react_1.default.createElement(react_2.ListItem, { key: item.id, draggable: true, onDragStart: function () { return handleDragStart(index); }, onDragOver: function (e) { return handleDragOver(e, index); }, onDragEnd: handleDragEnd, bg: theme.colors.gray[50], display: "flex", alignItems: "center", borderRadius: "md", border: "1px solid", borderColor: "gray.200", cursor: "grab", position: "relative", fontSize: 14, px: "2", py: "1" },
|
|
102
117
|
react_1.default.createElement(react_2.IconButton, { "aria-label": "Drag", icon: react_1.default.createElement(lucide_react_1.GripVertical, null), variant: "ghost", cursor: "grab", mr: "1" }),
|
|
103
|
-
react_1.default.createElement(Checkbox_1.default, { isChecked: item.isHidden, label: String(item.label), onChange: function () { return toggleCheckbox(index); }, sx: {
|
|
104
|
-
|
|
105
|
-
} }))); })) : (react_1.default.createElement(react_2.Text, { color: "gray.500", textAlign: "center" }, "No items found")))));
|
|
118
|
+
react_1.default.createElement(Checkbox_1.default, { isChecked: !item.isHidden, label: String(item.label), onChange: function () { return toggleCheckbox(index); }, sx: { marginRight: "4" } }))); })) : (react_1.default.createElement(react_2.Text, { color: "gray.500", textAlign: "center" }, "No items found"))),
|
|
119
|
+
error && (react_1.default.createElement(react_2.Text, { color: "red.500", mt: "3", fontSize: "sm" }, error))));
|
|
106
120
|
};
|
|
107
121
|
exports.default = ManageColumns;
|