pixelize-design-library 2.1.58 → 2.1.60
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/Table/Components/TableActions.js +153 -27
- 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
|
@@ -96,48 +96,174 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
96
96
|
// );
|
|
97
97
|
// };
|
|
98
98
|
// export default TableActions;
|
|
99
|
+
// import React, { useEffect, useRef, useState } from "react";
|
|
100
|
+
// import {
|
|
101
|
+
// Button,
|
|
102
|
+
// IconButton,
|
|
103
|
+
// Popover,
|
|
104
|
+
// PopoverBody,
|
|
105
|
+
// PopoverContent,
|
|
106
|
+
// PopoverTrigger,
|
|
107
|
+
// Portal,
|
|
108
|
+
// VStack,
|
|
109
|
+
// } from "@chakra-ui/react";
|
|
110
|
+
// import { EllipsisVertical, ExternalLink, Pencil, Trash2 } from "lucide-react";
|
|
111
|
+
// const TableActions = ({ row }: any) => {
|
|
112
|
+
// const [isOpen, setIsOpen] = useState(false);
|
|
113
|
+
// const ref = useRef<HTMLDivElement>(null);
|
|
114
|
+
// // Listen for "close-all-popovers"
|
|
115
|
+
// useEffect(() => {
|
|
116
|
+
// const handler = () => setIsOpen(false);
|
|
117
|
+
// window.addEventListener("close-all-popovers", handler);
|
|
118
|
+
// return () => window.removeEventListener("close-all-popovers", handler);
|
|
119
|
+
// }, []);
|
|
120
|
+
// useEffect(() => {
|
|
121
|
+
// const handleClickOutside = (event: MouseEvent) => {
|
|
122
|
+
// if (ref.current && !ref.current.contains(event.target as Node)) {
|
|
123
|
+
// setIsOpen(false);
|
|
124
|
+
// }
|
|
125
|
+
// };
|
|
126
|
+
// if (isOpen) {
|
|
127
|
+
// document.addEventListener("mousedown", handleClickOutside);
|
|
128
|
+
// }
|
|
129
|
+
// return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
130
|
+
// }, [isOpen]);
|
|
131
|
+
// const handleOpen = () => {
|
|
132
|
+
// // Close all others first
|
|
133
|
+
// window.dispatchEvent(new Event("close-all-popovers"));
|
|
134
|
+
// setIsOpen(true);
|
|
135
|
+
// };
|
|
136
|
+
// const handleClose = () => setIsOpen(false);
|
|
137
|
+
// return (
|
|
138
|
+
// <Popover
|
|
139
|
+
// placement="bottom-start"
|
|
140
|
+
// isOpen={isOpen}
|
|
141
|
+
// onOpen={handleOpen}
|
|
142
|
+
// onClose={handleClose}
|
|
143
|
+
// closeOnBlur
|
|
144
|
+
// >
|
|
145
|
+
// <PopoverTrigger>
|
|
146
|
+
// <IconButton
|
|
147
|
+
// aria-label="Link"
|
|
148
|
+
// color="black"
|
|
149
|
+
// icon={<EllipsisVertical size={17} />}
|
|
150
|
+
// size="sm"
|
|
151
|
+
// p={0}
|
|
152
|
+
// variant="ghost"
|
|
153
|
+
// _hover={{ transform: "scale(1.2)" }}
|
|
154
|
+
// onClick={() => (isOpen ? handleClose() : handleOpen())}
|
|
155
|
+
// />
|
|
156
|
+
// </PopoverTrigger>
|
|
157
|
+
// <Portal>
|
|
158
|
+
// <PopoverContent w="auto" minW="150px" boxShadow="lg" p={0} zIndex={999}>
|
|
159
|
+
// <PopoverBody>
|
|
160
|
+
// <VStack align="stretch" spacing={1}>
|
|
161
|
+
// {row.onLink && (
|
|
162
|
+
// <Button
|
|
163
|
+
// size="sm"
|
|
164
|
+
// variant="ghost"
|
|
165
|
+
// justifyContent="flex-start"
|
|
166
|
+
// gap={2}
|
|
167
|
+
// onClick={() => {
|
|
168
|
+
// row.onLink(row);
|
|
169
|
+
// handleClose();
|
|
170
|
+
// }}
|
|
171
|
+
// >
|
|
172
|
+
// <ExternalLink size={17} /> View
|
|
173
|
+
// </Button>
|
|
174
|
+
// )}
|
|
175
|
+
// {row.onEdit && (
|
|
176
|
+
// <Button
|
|
177
|
+
// size="sm"
|
|
178
|
+
// variant="ghost"
|
|
179
|
+
// justifyContent="flex-start"
|
|
180
|
+
// gap={2}
|
|
181
|
+
// onClick={() => {
|
|
182
|
+
// row.onEdit(row);
|
|
183
|
+
// handleClose();
|
|
184
|
+
// }}
|
|
185
|
+
// >
|
|
186
|
+
// <Pencil size={17} /> Edit
|
|
187
|
+
// </Button>
|
|
188
|
+
// )}
|
|
189
|
+
// {row.onDelete && (
|
|
190
|
+
// <Button
|
|
191
|
+
// size="sm"
|
|
192
|
+
// variant="ghost"
|
|
193
|
+
// justifyContent="flex-start"
|
|
194
|
+
// colorScheme="red"
|
|
195
|
+
// gap={2}
|
|
196
|
+
// onClick={() => {
|
|
197
|
+
// row.onDelete(row);
|
|
198
|
+
// handleClose();
|
|
199
|
+
// }}
|
|
200
|
+
// >
|
|
201
|
+
// <Trash2 size={17} /> Delete
|
|
202
|
+
// </Button>
|
|
203
|
+
// )}
|
|
204
|
+
// </VStack>
|
|
205
|
+
// </PopoverBody>
|
|
206
|
+
// </PopoverContent>
|
|
207
|
+
// </Portal>
|
|
208
|
+
// </Popover>
|
|
209
|
+
// );
|
|
210
|
+
// };
|
|
211
|
+
// export default TableActions;
|
|
99
212
|
var react_1 = __importStar(require("react"));
|
|
100
213
|
var react_2 = require("@chakra-ui/react");
|
|
101
214
|
var lucide_react_1 = require("lucide-react");
|
|
102
215
|
var TableActions = function (_a) {
|
|
103
216
|
var row = _a.row;
|
|
104
217
|
var _b = (0, react_1.useState)(false), isOpen = _b[0], setIsOpen = _b[1];
|
|
218
|
+
var ref = (0, react_1.useRef)(null);
|
|
105
219
|
// Listen for "close-all-popovers"
|
|
106
220
|
(0, react_1.useEffect)(function () {
|
|
107
221
|
var handler = function () { return setIsOpen(false); };
|
|
108
222
|
window.addEventListener("close-all-popovers", handler);
|
|
109
223
|
return function () { return window.removeEventListener("close-all-popovers", handler); };
|
|
110
224
|
}, []);
|
|
225
|
+
// Detect outside click
|
|
226
|
+
(0, react_1.useEffect)(function () {
|
|
227
|
+
var handleClickOutside = function (event) {
|
|
228
|
+
if (ref.current && !ref.current.contains(event.target)) {
|
|
229
|
+
setIsOpen(false);
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
if (isOpen) {
|
|
233
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
234
|
+
}
|
|
235
|
+
return function () { return document.removeEventListener("mousedown", handleClickOutside); };
|
|
236
|
+
}, [isOpen]);
|
|
111
237
|
var handleOpen = function () {
|
|
112
|
-
//
|
|
113
|
-
window.dispatchEvent(new Event("close-all-popovers"));
|
|
238
|
+
window.dispatchEvent(new Event("close-all-popovers")); // close others
|
|
114
239
|
setIsOpen(true);
|
|
115
240
|
};
|
|
116
241
|
var handleClose = function () { return setIsOpen(false); };
|
|
117
|
-
return (react_1.default.createElement(react_2.Popover, { placement: "bottom-start", isOpen: isOpen,
|
|
118
|
-
react_1.default.createElement(
|
|
119
|
-
react_1.default.createElement(react_2.
|
|
120
|
-
|
|
121
|
-
react_1.default.createElement(react_2.
|
|
122
|
-
react_1.default.createElement(react_2.
|
|
123
|
-
react_1.default.createElement(react_2.
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
242
|
+
return (react_1.default.createElement(react_2.Popover, { placement: "bottom-start", isOpen: isOpen, onClose: handleClose, closeOnBlur: false },
|
|
243
|
+
react_1.default.createElement("div", { ref: ref },
|
|
244
|
+
react_1.default.createElement(react_2.PopoverTrigger, null,
|
|
245
|
+
react_1.default.createElement(react_2.IconButton, { "aria-label": "Link", color: "black", icon: react_1.default.createElement(lucide_react_1.EllipsisVertical, { size: 17 }), size: "sm", p: 0, variant: "ghost", _hover: { transform: "scale(1.2)" }, onClick: function () { return (isOpen ? handleClose() : handleOpen()); } })),
|
|
246
|
+
react_1.default.createElement(react_2.Portal, null,
|
|
247
|
+
react_1.default.createElement(react_2.PopoverContent, { w: "auto", minW: "150px", boxShadow: "lg", p: 0, zIndex: 999 },
|
|
248
|
+
react_1.default.createElement(react_2.PopoverBody, null,
|
|
249
|
+
react_1.default.createElement(react_2.VStack, { align: "stretch", spacing: 1 },
|
|
250
|
+
row.onLink && (react_1.default.createElement(react_2.Button, { size: "sm", variant: "ghost", justifyContent: "flex-start", gap: 2, onClick: function () {
|
|
251
|
+
row.onLink(row);
|
|
252
|
+
handleClose();
|
|
253
|
+
} },
|
|
254
|
+
react_1.default.createElement(lucide_react_1.ExternalLink, { size: 17 }),
|
|
255
|
+
" View")),
|
|
256
|
+
row.onEdit && (react_1.default.createElement(react_2.Button, { size: "sm", variant: "ghost", justifyContent: "flex-start", gap: 2, onClick: function () {
|
|
257
|
+
row.onEdit(row);
|
|
258
|
+
handleClose();
|
|
259
|
+
} },
|
|
260
|
+
react_1.default.createElement(lucide_react_1.Pencil, { size: 17 }),
|
|
261
|
+
" Edit")),
|
|
262
|
+
row.onDelete && (react_1.default.createElement(react_2.Button, { size: "sm", variant: "ghost", justifyContent: "flex-start", colorScheme: "red", gap: 2, onClick: function () {
|
|
263
|
+
row.onDelete(row);
|
|
264
|
+
handleClose();
|
|
265
|
+
} },
|
|
266
|
+
react_1.default.createElement(lucide_react_1.Trash2, { size: 17 }),
|
|
267
|
+
" Delete")))))))));
|
|
142
268
|
};
|
|
143
269
|
exports.default = TableActions;
|