pixelize-design-library 2.2.42 → 2.2.44
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/DatePicker/DatePicker.js +9 -120
- package/dist/Components/KanbanBoard/KanbanBoard.js +8 -1
- package/dist/Components/NoteTextArea/NoteTextArea.d.ts +1 -1
- package/dist/Components/NoteTextArea/NoteTextArea.js +9 -9
- package/dist/Components/NoteTextArea/NoteTextAreaProps.d.ts +1 -0
- package/dist/Components/Table/Components/HeaderActions.js +41 -9
- package/dist/Hooks/usePreferences.d.ts +2 -1
- package/dist/Hooks/usePreferences.js +15 -12
- package/dist/Theme/Meadow/palette.js +17 -17
- package/dist/Theme/Radiant/palette.js +34 -34
- package/dist/Theme/Skyline/palette.js +17 -17
- package/dist/index.d.ts +1 -2
- package/dist/index.js +2 -4
- package/package.json +1 -1
|
@@ -55,7 +55,6 @@ function CustomDatePicker(props) {
|
|
|
55
55
|
var tomorrow = (0, date_fns_1.addDays)(today, 1);
|
|
56
56
|
var showDate = resolvedPickerType === "date" || resolvedPickerType === "datetime";
|
|
57
57
|
var showTime = resolvedPickerType === "time" || resolvedPickerType === "datetime";
|
|
58
|
-
var formatHasTime = dateFormat.toLowerCase().includes("hh") || dateFormat.toLowerCase().includes("mm") || dateFormat.toLowerCase().includes("ss");
|
|
59
58
|
var selectedDate = !isRange ? props.selectedDate : null;
|
|
60
59
|
// const [currentMonth, setCurrentMonth] = useState<Date>(
|
|
61
60
|
// isRange ? new Date() : selectedDate ?? new Date()
|
|
@@ -75,10 +74,7 @@ function CustomDatePicker(props) {
|
|
|
75
74
|
// );
|
|
76
75
|
var _m = (0, react_1.useState)(rangeStart), tempRangeStart = _m[0], setTempRangeStart = _m[1];
|
|
77
76
|
var _o = (0, react_1.useState)(rangeEnd), tempRangeEnd = _o[0], setTempRangeEnd = _o[1];
|
|
78
|
-
var _p = (0, react_1.useState)(""), inputValue = _p[0], setInputValue = _p[1];
|
|
79
|
-
var _q = (0, react_1.useState)(false), isTyping = _q[0], setIsTyping = _q[1];
|
|
80
77
|
var popoverRef = (0, react_1.useRef)(null);
|
|
81
|
-
var triggerRef = (0, react_1.useRef)(null);
|
|
82
78
|
var handleOpen = function () {
|
|
83
79
|
if (!isRange && !selectedDate) {
|
|
84
80
|
// setTempDate(new Date());
|
|
@@ -92,93 +88,6 @@ function CustomDatePicker(props) {
|
|
|
92
88
|
}
|
|
93
89
|
onOpen();
|
|
94
90
|
};
|
|
95
|
-
// Initialize input value based on selected date
|
|
96
|
-
(0, react_1.useEffect)(function () {
|
|
97
|
-
if (!isRange) {
|
|
98
|
-
if (selectedDate instanceof Date) {
|
|
99
|
-
setTempDate(new Date(selectedDate));
|
|
100
|
-
setInputValue((0, date_fns_1.format)(selectedDate, dateFormat));
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
setTempDate(null);
|
|
104
|
-
setInputValue("");
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}, [selectedDate, isRange, disableToday, dateFormat]);
|
|
108
|
-
var handleInputChange = function (e) {
|
|
109
|
-
var value = e.target.value;
|
|
110
|
-
setInputValue(value);
|
|
111
|
-
setIsTyping(true);
|
|
112
|
-
if (!value.trim()) {
|
|
113
|
-
setTempDate(null);
|
|
114
|
-
setTempRangeStart(null);
|
|
115
|
-
setTempRangeEnd(null);
|
|
116
|
-
setRangeStart(null);
|
|
117
|
-
setRangeEnd(null);
|
|
118
|
-
setSelectingStart(true);
|
|
119
|
-
props.onChange(null);
|
|
120
|
-
setIsTyping(false);
|
|
121
|
-
onClose();
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
var handleInputKeyDown = function (e) {
|
|
126
|
-
if (e.key === 'Enter') {
|
|
127
|
-
e.currentTarget.blur();
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
var handleInputFocus = function (e) {
|
|
131
|
-
e.stopPropagation();
|
|
132
|
-
setIsTyping(true);
|
|
133
|
-
if (!isOpen) {
|
|
134
|
-
onOpen();
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
var handleInputBlur = function () {
|
|
138
|
-
setIsTyping(false);
|
|
139
|
-
if (!inputValue.trim()) {
|
|
140
|
-
setTempDate(null);
|
|
141
|
-
props.onChange(null);
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
try {
|
|
145
|
-
var parsed = (0, date_fns_1.parse)(inputValue, dateFormat, new Date());
|
|
146
|
-
if ((0, date_fns_1.isValid)(parsed)) {
|
|
147
|
-
var isValidDate = true;
|
|
148
|
-
if (minDate && (0, date_fns_1.isBefore)(parsed, minDate))
|
|
149
|
-
isValidDate = false;
|
|
150
|
-
if (maxDate && (0, date_fns_1.isAfter)(parsed, maxDate))
|
|
151
|
-
isValidDate = false;
|
|
152
|
-
if (disablePastDates && (0, date_fns_1.isBefore)(parsed, today) && !(0, date_fns_1.isSameDay)(parsed, today))
|
|
153
|
-
isValidDate = false;
|
|
154
|
-
if (disableFutureDates && (0, date_fns_1.isAfter)(parsed, today) && !(0, date_fns_1.isSameDay)(parsed, today))
|
|
155
|
-
isValidDate = false;
|
|
156
|
-
if (disableToday && (0, date_fns_1.isSameDay)(parsed, today))
|
|
157
|
-
isValidDate = false;
|
|
158
|
-
if (isValidDate) {
|
|
159
|
-
var finalDate = parsed;
|
|
160
|
-
// Only preserve previous time if the input format does NOT include time tokens
|
|
161
|
-
if (showTime && tempDate && !formatHasTime) {
|
|
162
|
-
finalDate = new Date(parsed.getFullYear(), parsed.getMonth(), parsed.getDate(), tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds());
|
|
163
|
-
}
|
|
164
|
-
setTempDate(finalDate);
|
|
165
|
-
setCurrentMonth(finalDate);
|
|
166
|
-
setInputValue((0, date_fns_1.format)(finalDate, dateFormat));
|
|
167
|
-
props.onChange(finalDate);
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
catch (_a) { }
|
|
173
|
-
if (tempDate) {
|
|
174
|
-
setInputValue((0, date_fns_1.format)(tempDate, dateFormat));
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
setInputValue("");
|
|
178
|
-
setTempDate(null);
|
|
179
|
-
props.onChange(null);
|
|
180
|
-
}
|
|
181
|
-
};
|
|
182
91
|
(0, react_1.useEffect)(function () {
|
|
183
92
|
if (!isRange) {
|
|
184
93
|
if (selectedDate instanceof Date) {
|
|
@@ -224,8 +133,6 @@ function CustomDatePicker(props) {
|
|
|
224
133
|
? new Date(updated.getFullYear(), updated.getMonth(), updated.getDate(), tempDate.getHours(), tempDate.getMinutes(), tempDate.getSeconds())
|
|
225
134
|
: updated;
|
|
226
135
|
setTempDate(updatedDate);
|
|
227
|
-
setInputValue((0, date_fns_1.format)(updatedDate, dateFormat));
|
|
228
|
-
setIsTyping(false);
|
|
229
136
|
props.onChange(updatedDate);
|
|
230
137
|
}
|
|
231
138
|
};
|
|
@@ -278,22 +185,17 @@ function CustomDatePicker(props) {
|
|
|
278
185
|
: tempRangeStart
|
|
279
186
|
? "".concat((0, date_fns_1.format)(tempRangeStart, dateFormat), " -")
|
|
280
187
|
: ""
|
|
281
|
-
:
|
|
282
|
-
?
|
|
283
|
-
:
|
|
284
|
-
? (0, date_fns_1.format)(tempDate, dateFormat)
|
|
285
|
-
: "";
|
|
188
|
+
: tempDate
|
|
189
|
+
? (0, date_fns_1.format)(tempDate, dateFormat)
|
|
190
|
+
: "";
|
|
286
191
|
(0, react_1.useEffect)(function () {
|
|
287
192
|
var handleClickOutside = function (event) {
|
|
288
|
-
var _a
|
|
193
|
+
var _a;
|
|
289
194
|
if (popoverRef.current &&
|
|
290
195
|
!popoverRef.current.contains(event.target) &&
|
|
291
|
-
!((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))
|
|
292
|
-
!((_b = triggerRef.current) === null || _b === void 0 ? void 0 : _b.contains(event.target))) {
|
|
196
|
+
!((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
|
|
293
197
|
if (tempDate) {
|
|
294
198
|
props.onChange(tempDate); // add new
|
|
295
|
-
setInputValue((0, date_fns_1.format)(tempDate, dateFormat));
|
|
296
|
-
setIsTyping(false);
|
|
297
199
|
}
|
|
298
200
|
onClose();
|
|
299
201
|
}
|
|
@@ -307,22 +209,13 @@ function CustomDatePicker(props) {
|
|
|
307
209
|
return function () {
|
|
308
210
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
309
211
|
};
|
|
310
|
-
}, [isOpen, onClose
|
|
212
|
+
}, [isOpen, onClose]);
|
|
311
213
|
return (react_1.default.createElement(react_2.Box, { width: width, position: "relative" },
|
|
312
214
|
label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })),
|
|
313
|
-
react_1.default.createElement(react_2.Popover, { isLazy: true, isOpen: isOpen, onClose: onClose, placement: "bottom-start", initialFocusRef: inputRef, closeOnBlur:
|
|
215
|
+
react_1.default.createElement(react_2.Popover, { isLazy: true, isOpen: isOpen, onClose: onClose, placement: "bottom-start", initialFocusRef: inputRef, closeOnBlur: true },
|
|
314
216
|
react_1.default.createElement(react_2.PopoverTrigger, null,
|
|
315
|
-
react_1.default.createElement(react_2.Box, {
|
|
316
|
-
|
|
317
|
-
if (!isOpen) {
|
|
318
|
-
handleOpen();
|
|
319
|
-
}
|
|
320
|
-
}, onClick: function (e) {
|
|
321
|
-
// Prevent Chakra PopoverTrigger from toggling (which would immediately close after open)
|
|
322
|
-
e.preventDefault();
|
|
323
|
-
e.stopPropagation();
|
|
324
|
-
} },
|
|
325
|
-
react_1.default.createElement(TextInput_1.default, { id: id, name: name, ref: inputRef, placeholder: placeholderText, value: displayValue, onChange: !isRange ? handleInputChange : undefined, onKeyDown: !isRange ? handleInputKeyDown : undefined, onFocus: !isRange ? handleInputFocus : undefined, onBlur: !isRange ? handleInputBlur : undefined, isReadOnly: isRange, error: error, errorMessage: errorMessage, helperText: helperText, autoComplete: autoComplete, isDisabled: disabled, width: width }))),
|
|
217
|
+
react_1.default.createElement(react_2.Box, { onClick: handleOpen },
|
|
218
|
+
react_1.default.createElement(TextInput_1.default, { id: id, name: name, ref: inputRef, placeholder: placeholderText, value: displayValue, isReadOnly: true, error: error, errorMessage: errorMessage, helperText: helperText, autoComplete: autoComplete, isDisabled: disabled, width: width }))),
|
|
326
219
|
react_1.default.createElement(react_2.PopoverContent, { width: "auto", p: 2, ref: popoverRef },
|
|
327
220
|
react_1.default.createElement(react_2.PopoverBody, null,
|
|
328
221
|
showDate && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
@@ -360,8 +253,6 @@ function CustomDatePicker(props) {
|
|
|
360
253
|
// }}
|
|
361
254
|
onChange: function (updatedDate) {
|
|
362
255
|
setTempDate(updatedDate);
|
|
363
|
-
setInputValue((0, date_fns_1.format)(updatedDate, dateFormat));
|
|
364
|
-
setIsTyping(false);
|
|
365
256
|
props.onChange(updatedDate);
|
|
366
257
|
} })),
|
|
367
258
|
react_1.default.createElement(react_2.Box, { display: "flex", justifyContent: "space-between", mt: 3 },
|
|
@@ -385,8 +276,6 @@ function CustomDatePicker(props) {
|
|
|
385
276
|
}
|
|
386
277
|
else if (!isRange && tempDate) {
|
|
387
278
|
props.onChange(tempDate);
|
|
388
|
-
setInputValue((0, date_fns_1.format)(tempDate, dateFormat));
|
|
389
|
-
setIsTyping(false);
|
|
390
279
|
}
|
|
391
280
|
onClose();
|
|
392
281
|
} }, "OK")))))));
|
|
@@ -216,7 +216,14 @@ var KanbanBoard = function (_a) {
|
|
|
216
216
|
react_1.default.createElement(react_2.Text, { fontWeight: "600", fontSize: "1rem", color: (_h = colors === null || colors === void 0 ? void 0 : colors.text) === null || _h === void 0 ? void 0 : _h[700] }, column.title),
|
|
217
217
|
hoveredColumn === colId && column.items.length > 0 && (react_1.default.createElement(react_2.Box, { as: lucide_react_1.Trash2, size: 16, cursor: "pointer", color: (_j = colors === null || colors === void 0 ? void 0 : colors.text) === null || _j === void 0 ? void 0 : _j[600], _hover: { color: (_k = colors === null || colors === void 0 ? void 0 : colors.red) === null || _k === void 0 ? void 0 : _k[600] }, onClick: function () { return handleColumnDelete(colId); }, transition: "color 0.2s ease" })),
|
|
218
218
|
!(hoveredColumn === colId && column.items.length > 0) && (react_1.default.createElement(react_2.Box, { width: "16px", height: "16px" }))),
|
|
219
|
-
react_1.default.createElement(react_2.Box
|
|
219
|
+
react_1.default.createElement(react_2.Box
|
|
220
|
+
// px={2}
|
|
221
|
+
// pb={2}
|
|
222
|
+
, {
|
|
223
|
+
// px={2}
|
|
224
|
+
// pb={2}
|
|
225
|
+
flex: "1", overflowY: "auto", width: "100%",
|
|
226
|
+
// mr={1} // Add right margin to create gap for scrollbar
|
|
220
227
|
/////LIST/////////////////////////////
|
|
221
228
|
sx: {
|
|
222
229
|
overflowY: "auto",
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { NoteTextAreaProps } from "./NoteTextAreaProps";
|
|
3
|
-
export default function NoteTextArea({ width, handleSubmit, handleCancel, value, title, file, isEditable, saveButtonLoading, maxFileSize, maxFilesSizeError, maxNoteWordCount, onChange, ref: inputRef, }: NoteTextAreaProps): React.JSX.Element;
|
|
3
|
+
export default function NoteTextArea({ width, handleSubmit, handleCancel, value, title, file, isEditable, saveButtonLoading, maxFileSize, maxFilesSizeError, maxNoteWordCount, onChange, ref: inputRef, customPlaceholder }: NoteTextAreaProps): React.JSX.Element;
|
|
@@ -45,16 +45,16 @@ var countWords = function (text) {
|
|
|
45
45
|
};
|
|
46
46
|
function NoteTextArea(_a) {
|
|
47
47
|
var _b;
|
|
48
|
-
var _c = _a.width, width = _c === void 0 ? "100%" : _c, handleSubmit = _a.handleSubmit, handleCancel = _a.handleCancel, value = _a.value, title = _a.title, file = _a.file, _d = _a.isEditable, isEditable = _d === void 0 ? false : _d, saveButtonLoading = _a.saveButtonLoading, _e = _a.maxFileSize, maxFileSize = _e === void 0 ? 1 * 1024 * 1024 : _e, _f = _a.maxFilesSizeError, maxFilesSizeError = _f === void 0 ? "Some files are too large. Maximum allowed size is" : _f, _g = _a.maxNoteWordCount, maxNoteWordCount = _g === void 0 ? 15 : _g, onChange = _a.onChange, inputRef = _a.ref;
|
|
48
|
+
var _c = _a.width, width = _c === void 0 ? "100%" : _c, handleSubmit = _a.handleSubmit, handleCancel = _a.handleCancel, value = _a.value, title = _a.title, file = _a.file, _d = _a.isEditable, isEditable = _d === void 0 ? false : _d, saveButtonLoading = _a.saveButtonLoading, _e = _a.maxFileSize, maxFileSize = _e === void 0 ? 1 * 1024 * 1024 : _e, _f = _a.maxFilesSizeError, maxFilesSizeError = _f === void 0 ? "Some files are too large. Maximum allowed size is" : _f, _g = _a.maxNoteWordCount, maxNoteWordCount = _g === void 0 ? 15 : _g, onChange = _a.onChange, inputRef = _a.ref, _h = _a.customPlaceholder, customPlaceholder = _h === void 0 ? "Add a note..." : _h;
|
|
49
49
|
var theme = (0, useCustomTheme_1.useCustomTheme)();
|
|
50
50
|
var noteAreaRef = (0, react_1.useRef)(null);
|
|
51
|
-
var
|
|
52
|
-
var
|
|
53
|
-
var
|
|
54
|
-
var
|
|
55
|
-
var
|
|
56
|
-
var
|
|
57
|
-
var
|
|
51
|
+
var _j = (0, react_1.useState)(false), isActive = _j[0], setIsActive = _j[1];
|
|
52
|
+
var _k = (0, react_1.useState)(""), noteValue = _k[0], setNoteValue = _k[1];
|
|
53
|
+
var _l = (0, react_1.useState)(""), titleValue = _l[0], setTitleValue = _l[1];
|
|
54
|
+
var _m = (0, react_1.useState)(false), titleShow = _m[0], setTitleShow = _m[1];
|
|
55
|
+
var _o = (0, react_1.useState)([]), files = _o[0], setFiles = _o[1];
|
|
56
|
+
var _p = (0, react_1.useState)(""), fileError = _p[0], setFileError = _p[1];
|
|
57
|
+
var _q = (0, react_1.useState)(false), isSaveDisabled = _q[0], setIsSaveDisabled = _q[1];
|
|
58
58
|
(0, react_1.useEffect)(function () {
|
|
59
59
|
setIsSaveDisabled(countWords(titleValue) > maxNoteWordCount);
|
|
60
60
|
}, [titleValue, maxNoteWordCount]);
|
|
@@ -151,7 +151,7 @@ function NoteTextArea(_a) {
|
|
|
151
151
|
};
|
|
152
152
|
return (react_1.default.createElement(react_2.Box, { w: width, borderRadius: "0.25rem", overflow: "hidden", border: "1px solid", borderColor: isActive ? theme.colors.primary[300] : theme.colors.gray[200], bg: isActive ? theme.colors.gray[50] : "transparent", boxShadow: isActive ? "0 0 0 0.125rem ".concat((_b = theme.colors.boxShadow) === null || _b === void 0 ? void 0 : _b.primary) : "none" },
|
|
153
153
|
!isActive && (react_1.default.createElement(react_2.Flex, { px: 4, align: "center", cursor: "text", onClick: handleTextArea, bg: theme.colors.white, borderRadius: "0.25rem", minH: "44px" },
|
|
154
|
-
react_1.default.createElement(react_2.Text, { color: theme.colors.gray[300], fontStyle: "italic", fontSize: "md" },
|
|
154
|
+
react_1.default.createElement(react_2.Text, { color: theme.colors.gray[300], fontStyle: "italic", fontSize: "md" }, customPlaceholder))),
|
|
155
155
|
isActive && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
156
156
|
react_1.default.createElement(react_2.Box, { bg: theme.colors.white },
|
|
157
157
|
titleShow && (react_1.default.createElement(react_2.Input, { ref: inputRef, value: titleValue, onChange: function (e) {
|
|
@@ -18,28 +18,60 @@ var react_1 = require("@chakra-ui/react");
|
|
|
18
18
|
var lucide_react_1 = require("lucide-react");
|
|
19
19
|
var react_2 = __importDefault(require("react"));
|
|
20
20
|
var useCustomTheme_1 = require("../../../Theme/useCustomTheme");
|
|
21
|
+
// const ListItem = ({
|
|
22
|
+
// icon,
|
|
23
|
+
// name,
|
|
24
|
+
// onClick,
|
|
25
|
+
// selections,
|
|
26
|
+
// }: {
|
|
27
|
+
// icon: React.ReactElement;
|
|
28
|
+
// name: string;
|
|
29
|
+
// onClick?: (selection: (string | number)[]) => void;
|
|
30
|
+
// selections: (string | number)[];
|
|
31
|
+
// }) => {
|
|
32
|
+
// const { colors }: any = useCustomTheme();
|
|
33
|
+
// const styledIcon = React.cloneElement(icon, {
|
|
34
|
+
// color: colors?.text?.[500],
|
|
35
|
+
// size: "1.25rem",
|
|
36
|
+
// });
|
|
37
|
+
// return (
|
|
38
|
+
// <Box
|
|
39
|
+
// display={"flex"}
|
|
40
|
+
// alignItems={"center"}
|
|
41
|
+
// gap={"0.375rem"}
|
|
42
|
+
// onClick={() => onClick && onClick(selections)}
|
|
43
|
+
// cursor={"pointer"}
|
|
44
|
+
// _hover={{color: colors?.primary?.[500]}}
|
|
45
|
+
// >
|
|
46
|
+
// {styledIcon} {name}
|
|
47
|
+
// </Box>
|
|
48
|
+
// );
|
|
49
|
+
// };
|
|
21
50
|
var ListItem = function (_a) {
|
|
22
|
-
var _b;
|
|
23
|
-
var icon = _a.icon, name = _a.name, onClick = _a.onClick, selections = _a.selections;
|
|
51
|
+
var _b, _c;
|
|
52
|
+
var icon = _a.icon, name = _a.name, onClick = _a.onClick, selections = _a.selections, _d = _a.isHoverEnabled, isHoverEnabled = _d === void 0 ? false : _d, hoverColor = _a.hoverColor;
|
|
24
53
|
var colors = (0, useCustomTheme_1.useCustomTheme)().colors;
|
|
25
54
|
var styledIcon = react_2.default.cloneElement(icon, {
|
|
26
|
-
color:
|
|
55
|
+
color: "currentColor",
|
|
27
56
|
size: "1.25rem",
|
|
28
57
|
});
|
|
29
|
-
return (react_2.default.createElement(react_1.Box, { display: "flex", alignItems: "center", gap: "0.375rem", onClick: function () { return onClick && onClick(selections); },
|
|
58
|
+
return (react_2.default.createElement(react_1.Box, { display: "flex", alignItems: "center", gap: "0.375rem", cursor: isHoverEnabled ? "pointer" : "default", onClick: function () { return onClick && onClick(selections); }, color: (_b = colors === null || colors === void 0 ? void 0 : colors.text) === null || _b === void 0 ? void 0 : _b[500], _hover: isHoverEnabled
|
|
59
|
+
? { color: hoverColor ? hoverColor : (_c = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _c === void 0 ? void 0 : _c[500] } // ✅ hover updates both
|
|
60
|
+
: {}, transition: "color 0.2s ease" // ✅ smooth animation
|
|
61
|
+
},
|
|
30
62
|
styledIcon,
|
|
31
63
|
" ",
|
|
32
64
|
name));
|
|
33
65
|
};
|
|
34
66
|
var HeaderActions = function (_a) {
|
|
35
|
-
var _b, _c, _d, _e, _f, _g, _h;
|
|
67
|
+
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
36
68
|
var actions = _a.actions, selections = _a.selections;
|
|
37
69
|
var colors = (0, useCustomTheme_1.useCustomTheme)().colors;
|
|
38
70
|
return (react_2.default.createElement(react_1.Box, { display: "flex", gap: 4, fontSize: "0.875rem", fontWeight: 400, color: (_b = colors === null || colors === void 0 ? void 0 : colors.secondary) === null || _b === void 0 ? void 0 : _b[500] },
|
|
39
|
-
((_c = actions === null || actions === void 0 ? void 0 : actions.isDelete) === null || _c === void 0 ? void 0 : _c.enabled) && (react_2.default.createElement(ListItem, { icon: react_2.default.createElement(lucide_react_1.Trash2,
|
|
40
|
-
((
|
|
41
|
-
((
|
|
42
|
-
? (
|
|
71
|
+
((_c = actions === null || actions === void 0 ? void 0 : actions.isDelete) === null || _c === void 0 ? void 0 : _c.enabled) && (react_2.default.createElement(ListItem, { icon: react_2.default.createElement(lucide_react_1.Trash2, { className: "w-4 h-4" }), name: "Delete", onClick: (_d = actions === null || actions === void 0 ? void 0 : actions.isDelete) === null || _d === void 0 ? void 0 : _d.onClick, selections: selections, isHoverEnabled: true, hoverColor: (_e = colors === null || colors === void 0 ? void 0 : colors.red) === null || _e === void 0 ? void 0 : _e[500] })),
|
|
72
|
+
((_f = actions === null || actions === void 0 ? void 0 : actions.isUpdate) === null || _f === void 0 ? void 0 : _f.enabled) && (react_2.default.createElement(ListItem, { icon: react_2.default.createElement(lucide_react_1.SquarePen, { className: "w-4 h-4" }), name: "Mass Update", onClick: (_g = actions === null || actions === void 0 ? void 0 : actions.isUpdate) === null || _g === void 0 ? void 0 : _g.onClick, selections: selections })),
|
|
73
|
+
((_h = actions === null || actions === void 0 ? void 0 : actions.items) === null || _h === void 0 ? void 0 : _h.length)
|
|
74
|
+
? (_j = actions === null || actions === void 0 ? void 0 : actions.items) === null || _j === void 0 ? void 0 : _j.map(function (item) { return (react_2.default.createElement(ListItem, __assign({}, item, { selections: selections }))); })
|
|
43
75
|
: null));
|
|
44
76
|
};
|
|
45
77
|
exports.default = HeaderActions;
|
|
@@ -19,7 +19,8 @@ declare const useGetPreferences: ({ baseUrl, key, page, name, authToken, orgId,
|
|
|
19
19
|
};
|
|
20
20
|
declare const useSavePreferences: ({ baseUrl, key, page, name, authToken, orgId, }: PreferencesProps) => {
|
|
21
21
|
savePreferences: (data?: Record<string, any>) => void;
|
|
22
|
+
savePreferencesDebounced: (data?: Record<string, any>, wait?: number) => void;
|
|
22
23
|
loading: boolean;
|
|
23
|
-
error:
|
|
24
|
+
error: unknown;
|
|
24
25
|
};
|
|
25
26
|
export { useGetPreferences, useSavePreferences };
|
|
@@ -48,7 +48,7 @@ var useSavePreferences = function (_a) {
|
|
|
48
48
|
var _b = _a.baseUrl, baseUrl = _b === void 0 ? "" : _b, _c = _a.key, key = _c === void 0 ? "" : _c, _d = _a.page, page = _d === void 0 ? "" : _d, _e = _a.name, name = _e === void 0 ? "" : _e, _f = _a.authToken, authToken = _f === void 0 ? "" : _f, _g = _a.orgId, orgId = _g === void 0 ? "" : _g;
|
|
49
49
|
var _h = (0, react_1.useState)(false), loading = _h[0], setLoading = _h[1];
|
|
50
50
|
var _j = (0, react_1.useState)(null), error = _j[0], setError = _j[1];
|
|
51
|
-
var savePreferences = function (data) {
|
|
51
|
+
var savePreferences = (0, react_1.useCallback)(function (data) {
|
|
52
52
|
if (data === void 0) { data = {}; }
|
|
53
53
|
if (!baseUrl)
|
|
54
54
|
return;
|
|
@@ -59,18 +59,21 @@ var useSavePreferences = function (_a) {
|
|
|
59
59
|
Authorization: authToken,
|
|
60
60
|
"Content-Type": "application/json",
|
|
61
61
|
},
|
|
62
|
-
body: JSON.stringify({
|
|
63
|
-
key: key,
|
|
64
|
-
page: page,
|
|
65
|
-
name: name,
|
|
66
|
-
json: data,
|
|
67
|
-
}),
|
|
62
|
+
body: JSON.stringify({ key: key, page: page, name: name, json: data }),
|
|
68
63
|
})
|
|
69
|
-
.then(function (
|
|
70
|
-
.then(function (
|
|
71
|
-
.catch(function (
|
|
64
|
+
.then(function (r) { return r.json(); })
|
|
65
|
+
.then(function (d) { return console.log(d); })
|
|
66
|
+
.catch(function (e) { return setError(e); })
|
|
72
67
|
.finally(function () { return setLoading(false); });
|
|
73
|
-
};
|
|
74
|
-
|
|
68
|
+
}, [baseUrl, orgId, authToken, key, page, name]);
|
|
69
|
+
var debounceRef = (0, react_1.useRef)(null);
|
|
70
|
+
var savePreferencesDebounced = (0, react_1.useCallback)(function (data, wait) {
|
|
71
|
+
if (data === void 0) { data = {}; }
|
|
72
|
+
if (wait === void 0) { wait = 500; }
|
|
73
|
+
if (debounceRef.current)
|
|
74
|
+
window.clearTimeout(debounceRef.current);
|
|
75
|
+
debounceRef.current = window.setTimeout(function () { return savePreferences(data); }, wait);
|
|
76
|
+
}, [savePreferences]);
|
|
77
|
+
return { savePreferences: savePreferences, savePreferencesDebounced: savePreferencesDebounced, loading: loading, error: error };
|
|
75
78
|
};
|
|
76
79
|
exports.useSavePreferences = useSavePreferences;
|
|
@@ -36,24 +36,24 @@ var palette = __assign(__assign({}, palette_1.default), { primary: {
|
|
|
36
36
|
48: "#9A4FE57a",
|
|
37
37
|
}
|
|
38
38
|
}, secondary: {
|
|
39
|
-
50: "#
|
|
40
|
-
100: "#
|
|
41
|
-
200: "#
|
|
42
|
-
300: "#
|
|
43
|
-
400: "#
|
|
44
|
-
500: "#
|
|
45
|
-
600: "#
|
|
46
|
-
700: "#
|
|
47
|
-
800: "#
|
|
48
|
-
900: "#
|
|
39
|
+
50: "#e8e8e9",
|
|
40
|
+
100: "#b7b8bb",
|
|
41
|
+
200: "#94989b",
|
|
42
|
+
300: "#63666d",
|
|
43
|
+
400: "#454951",
|
|
44
|
+
500: "#161b25",
|
|
45
|
+
600: "#141922",
|
|
46
|
+
700: "#10131a",
|
|
47
|
+
800: "#0c0f14",
|
|
48
|
+
900: "#090b10",
|
|
49
49
|
opacity: {
|
|
50
|
-
4: "#
|
|
51
|
-
8: "#
|
|
52
|
-
16: "#
|
|
53
|
-
24: "#
|
|
54
|
-
32: "#
|
|
55
|
-
40: "#
|
|
56
|
-
48: "#
|
|
50
|
+
4: "#161b250a",
|
|
51
|
+
8: "#161b2514",
|
|
52
|
+
16: "#161b2529",
|
|
53
|
+
24: "#161b253d",
|
|
54
|
+
32: "#161b2552",
|
|
55
|
+
40: "#161b2566",
|
|
56
|
+
48: "#161b257a",
|
|
57
57
|
}
|
|
58
58
|
}, tertiary: {
|
|
59
59
|
50: "#e3f9e5",
|
|
@@ -36,44 +36,44 @@ var palette = __assign(__assign({}, palette_1.default), { primary: {
|
|
|
36
36
|
48: "#9A4FE57a",
|
|
37
37
|
}
|
|
38
38
|
}, secondary: {
|
|
39
|
-
50: "#
|
|
40
|
-
100: "#
|
|
41
|
-
200: "#
|
|
42
|
-
300: "#
|
|
43
|
-
400: "#
|
|
44
|
-
500: "#
|
|
45
|
-
600: "#
|
|
46
|
-
700: "#
|
|
47
|
-
800: "#
|
|
48
|
-
900: "#
|
|
39
|
+
50: "#e8e8e9",
|
|
40
|
+
100: "#b7b8bb",
|
|
41
|
+
200: "#94989b",
|
|
42
|
+
300: "#63666d",
|
|
43
|
+
400: "#454951",
|
|
44
|
+
500: "#161b25",
|
|
45
|
+
600: "#141922",
|
|
46
|
+
700: "#10131a",
|
|
47
|
+
800: "#0c0f14",
|
|
48
|
+
900: "#090b10",
|
|
49
49
|
opacity: {
|
|
50
|
-
4: "#
|
|
51
|
-
8: "#
|
|
52
|
-
16: "#
|
|
53
|
-
24: "#
|
|
54
|
-
32: "#
|
|
55
|
-
40: "#
|
|
56
|
-
48: "#
|
|
50
|
+
4: "#161b250a",
|
|
51
|
+
8: "#161b2514",
|
|
52
|
+
16: "#161b2529",
|
|
53
|
+
24: "#161b253d",
|
|
54
|
+
32: "#161b2552",
|
|
55
|
+
40: "#161b2566",
|
|
56
|
+
48: "#161b257a",
|
|
57
57
|
}
|
|
58
58
|
}, tertiary: {
|
|
59
|
-
50: "#
|
|
60
|
-
100: "#
|
|
61
|
-
200: "#
|
|
62
|
-
300: "#
|
|
63
|
-
400: "#
|
|
64
|
-
500: "#
|
|
65
|
-
600: "#
|
|
66
|
-
700: "#
|
|
67
|
-
800: "#
|
|
68
|
-
900: "#
|
|
59
|
+
50: "#e8e8e9",
|
|
60
|
+
100: "#b7b8bb",
|
|
61
|
+
200: "#94989b",
|
|
62
|
+
300: "#63666d",
|
|
63
|
+
400: "#454951",
|
|
64
|
+
500: "#161b25",
|
|
65
|
+
600: "#141922",
|
|
66
|
+
700: "#10131a",
|
|
67
|
+
800: "#0c0f14",
|
|
68
|
+
900: "#090b10",
|
|
69
69
|
opacity: {
|
|
70
|
-
4: "#
|
|
71
|
-
8: "#
|
|
72
|
-
16: "#
|
|
73
|
-
24: "#
|
|
74
|
-
32: "#
|
|
75
|
-
40: "#
|
|
76
|
-
48: "#
|
|
70
|
+
4: "#161b250a",
|
|
71
|
+
8: "#161b2514",
|
|
72
|
+
16: "#161b2529",
|
|
73
|
+
24: "#161b253d",
|
|
74
|
+
32: "#161b2552",
|
|
75
|
+
40: "#161b2566",
|
|
76
|
+
48: "#161b257a",
|
|
77
77
|
}
|
|
78
78
|
}, transparent: "transparent", black: "#000", white: "#fff", semantic: {
|
|
79
79
|
success: {
|
|
@@ -36,24 +36,24 @@ var palette = __assign(__assign({}, palette_1.default), { primary: {
|
|
|
36
36
|
48: "#9A4FE57a",
|
|
37
37
|
}
|
|
38
38
|
}, secondary: {
|
|
39
|
-
50: "#
|
|
40
|
-
100: "#
|
|
41
|
-
200: "#
|
|
42
|
-
300: "#
|
|
43
|
-
400: "#
|
|
44
|
-
500: "#
|
|
45
|
-
600: "#
|
|
46
|
-
700: "#
|
|
47
|
-
800: "#
|
|
48
|
-
900: "#
|
|
39
|
+
50: "#e8e8e9",
|
|
40
|
+
100: "#b7b8bb",
|
|
41
|
+
200: "#94989b",
|
|
42
|
+
300: "#63666d",
|
|
43
|
+
400: "#454951",
|
|
44
|
+
500: "#161b25",
|
|
45
|
+
600: "#141922",
|
|
46
|
+
700: "#10131a",
|
|
47
|
+
800: "#0c0f14",
|
|
48
|
+
900: "#090b10",
|
|
49
49
|
opacity: {
|
|
50
|
-
4: "#
|
|
51
|
-
8: "#
|
|
52
|
-
16: "#
|
|
53
|
-
24: "#
|
|
54
|
-
32: "#
|
|
55
|
-
40: "#
|
|
56
|
-
48: "#
|
|
50
|
+
4: "#161b250a",
|
|
51
|
+
8: "#161b2514",
|
|
52
|
+
16: "#161b2529",
|
|
53
|
+
24: "#161b253d",
|
|
54
|
+
32: "#161b2552",
|
|
55
|
+
40: "#161b2566",
|
|
56
|
+
48: "#161b257a",
|
|
57
57
|
}
|
|
58
58
|
}, tertiary: {
|
|
59
59
|
50: "#e3f2f9",
|
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,6 @@ import DatePicker from "./Components/DatePicker/DatePicker";
|
|
|
13
13
|
import Drawer, { DrawerHeader, DrawerBody, DrawerFooter } from "./Components/Drawer/Drawer";
|
|
14
14
|
import Dropdown from "./Components/Dropdown/DropDown";
|
|
15
15
|
import Editor from "./Components/Editor/Editor";
|
|
16
|
-
import FeedbackForm from "./Components/FeedbackForm/FeedbackForm";
|
|
17
16
|
import FileUpload from "./Components/FileUpload/FileUpload";
|
|
18
17
|
import FileUploader from "./Components/FileUploader/FileUploader";
|
|
19
18
|
import FormWrapper from "./Components/Form/FormWrapper";
|
|
@@ -60,5 +59,5 @@ import { InputSwitch } from "./Components/Input/Switch/InputSwitch";
|
|
|
60
59
|
import PaymentCard from "./Components/Card/PaymentCard/PaymentCard";
|
|
61
60
|
import ApexLineChart from "./Components/Apexcharts/ApexLineChart/ApexLineChart";
|
|
62
61
|
import Notification from "./Components/Notification/Notification";
|
|
63
|
-
export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, Breadcrumbs, Button, ButtonGroupIcon,
|
|
62
|
+
export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, FileUpload, FileUploader, FormWrapper, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, useToaster, VerifyEmailOtp, useCustomTheme, ThemesList, debounce, };
|
|
64
63
|
export default withTheme;
|
package/dist/index.js
CHANGED
|
@@ -27,8 +27,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.ProductDetails = exports.ProductCard = exports.PinInput = exports.PhoneNumberInput = exports.PaymentCard = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.Notification = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputSwitch = exports.InputTextArea = exports.HeaderActions = exports.Header = exports.FormWrapper = exports.FileUploader = exports.FileUpload = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = exports.ContactForm = exports.Checkbox = exports.Card = exports.
|
|
31
|
-
exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.VerifyEmailOtp = exports.useToaster = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.Slider = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.Select = exports.Search = exports.Reorder =
|
|
30
|
+
exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.ProductDetails = exports.ProductCard = exports.PinInput = exports.PhoneNumberInput = exports.PaymentCard = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.Notification = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputSwitch = exports.InputTextArea = exports.HeaderActions = exports.Header = exports.FormWrapper = exports.FileUploader = exports.FileUpload = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = exports.ContactForm = exports.Checkbox = exports.Card = exports.ButtonGroupIcon = exports.Button = exports.Breadcrumbs = exports.ApexLineChart = exports.ApexPolarChart = exports.ApexPieChart = exports.ApexBarChart = exports.AlertDialog = exports.Accordian = void 0;
|
|
31
|
+
exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.VerifyEmailOtp = exports.useToaster = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.Slider = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.Select = exports.Search = exports.Reorder = void 0;
|
|
32
32
|
var Accordion_1 = __importDefault(require("./Components/Accordion/Accordion"));
|
|
33
33
|
exports.Accordian = Accordion_1.default;
|
|
34
34
|
var AlertDialog_1 = __importDefault(require("./Components/AlertDialog/AlertDialog"));
|
|
@@ -62,8 +62,6 @@ var DropDown_1 = __importDefault(require("./Components/Dropdown/DropDown"));
|
|
|
62
62
|
exports.Dropdown = DropDown_1.default;
|
|
63
63
|
var Editor_1 = __importDefault(require("./Components/Editor/Editor"));
|
|
64
64
|
exports.Editor = Editor_1.default;
|
|
65
|
-
var FeedbackForm_1 = __importDefault(require("./Components/FeedbackForm/FeedbackForm"));
|
|
66
|
-
exports.FeedbackForm = FeedbackForm_1.default;
|
|
67
65
|
var FileUpload_1 = __importDefault(require("./Components/FileUpload/FileUpload"));
|
|
68
66
|
exports.FileUpload = FileUpload_1.default;
|
|
69
67
|
var FileUploader_1 = __importDefault(require("./Components/FileUploader/FileUploader"));
|