pixelize-design-library 2.0.8 → 2.0.10

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.
@@ -13,7 +13,7 @@ function CheckBox(_a) {
13
13
  var label = _a.label, spacing = _a.spacing, isInvalid = _a.isInvalid, color = _a.color, iconColor = _a.iconColor, iconSize = _a.iconSize, isChecked = _a.isChecked, isIndeterminate = _a.isIndeterminate, onChange = _a.onChange, isDisabled = _a.isDisabled, size = _a.size, value = _a.value, defaultChecked = _a.defaultChecked, sx = _a.sx, isRequired = _a.isRequired, error = _a.error, errorMessage = _a.errorMessage, isInformation = _a.isInformation, informationMessage = _a.informationMessage, id = _a.id, helperText = _a.helperText;
14
14
  var theme = (0, useCustomTheme_1.useCustomTheme)();
15
15
  return (react_1.default.createElement(react_2.FormControl, { isInvalid: error },
16
- react_1.default.createElement(react_2.Checkbox, { spacing: spacing, isInvalid: isInvalid, isRequired: isRequired, colorScheme: color, iconColor: iconColor, iconSize: iconSize, isChecked: isChecked, isIndeterminate: isIndeterminate, onChange: onChange, isDisabled: isDisabled, size: size, value: value, defaultChecked: defaultChecked, borderColor: theme.colors.gray[500], sx: sx }, label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, id: id, isInformation: isInformation, informationMessage: informationMessage, isRequired: isRequired }))),
16
+ react_1.default.createElement(react_2.Checkbox, { spacing: spacing, isInvalid: isInvalid, isRequired: isRequired, colorScheme: color, iconColor: iconColor, iconSize: iconSize, isChecked: isChecked, isIndeterminate: isIndeterminate, onChange: onChange, isDisabled: isDisabled, size: size, value: value, defaultChecked: defaultChecked, borderColor: theme.colors.gray[500], sx: sx, display: "flex", alignItems: "inherit" }, label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, id: id, isInformation: isInformation, informationMessage: informationMessage, isRequired: isRequired }))),
17
17
  error && react_1.default.createElement(ErrorMessage_1.default, { errorMessage: errorMessage }),
18
18
  helperText && !error && react_1.default.createElement(HelperText_1.default, { helperText: helperText })));
19
19
  }
@@ -62,17 +62,23 @@ function CustomDatePicker(props) {
62
62
  var _k = (0, react_1.useState)(selectedDate !== null && selectedDate !== void 0 ? selectedDate : null), tempDate = _k[0], setTempDate = _k[1];
63
63
  var _l = (0, react_1.useState)(rangeStart), tempRangeStart = _l[0], setTempRangeStart = _l[1];
64
64
  var _m = (0, react_1.useState)(rangeEnd), tempRangeEnd = _m[0], setTempRangeEnd = _m[1];
65
- // Ensure default tempDate if null and pickerType is "time"
65
+ var popoverRef = (0, react_1.useRef)(null);
66
+ var handleOpen = function () {
67
+ if (!isRange && !selectedDate) {
68
+ setTempDate(new Date());
69
+ }
70
+ onOpen();
71
+ };
66
72
  (0, react_1.useEffect)(function () {
67
73
  if (!isRange) {
68
74
  if (selectedDate instanceof Date) {
69
75
  setTempDate(new Date(selectedDate));
70
76
  }
71
- else if (resolvedPickerType === "time" || resolvedPickerType === "datetime") {
72
- setTempDate(new Date());
77
+ else {
78
+ setTempDate(null);
73
79
  }
74
80
  }
75
- }, [selectedDate, isRange, resolvedPickerType]);
81
+ }, [selectedDate, isRange]);
76
82
  var handleDaySelect = function (day) {
77
83
  var updated = new Date(day);
78
84
  if (isRange) {
@@ -93,8 +99,7 @@ function CustomDatePicker(props) {
93
99
  setTempDate(function (prev) {
94
100
  if (!prev)
95
101
  return updated;
96
- var newDateWithTime = new Date(updated.getFullYear(), updated.getMonth(), updated.getDate(), prev.getHours(), prev.getMinutes(), prev.getSeconds());
97
- return newDateWithTime;
102
+ return new Date(updated.getFullYear(), updated.getMonth(), updated.getDate(), prev.getHours(), prev.getMinutes(), prev.getSeconds());
98
103
  });
99
104
  }
100
105
  };
@@ -149,28 +154,32 @@ function CustomDatePicker(props) {
149
154
  : tempDate
150
155
  ? (0, date_fns_1.format)(tempDate, dateFormat)
151
156
  : "";
157
+ (0, react_1.useEffect)(function () {
158
+ var handleClickOutside = function (event) {
159
+ var _a;
160
+ if (popoverRef.current &&
161
+ !popoverRef.current.contains(event.target) &&
162
+ !((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {
163
+ onClose();
164
+ }
165
+ };
166
+ if (isOpen) {
167
+ document.addEventListener("mousedown", handleClickOutside);
168
+ }
169
+ else {
170
+ document.removeEventListener("mousedown", handleClickOutside);
171
+ }
172
+ return function () {
173
+ document.removeEventListener("mousedown", handleClickOutside);
174
+ };
175
+ }, [isOpen, onClose]);
152
176
  return (react_1.default.createElement(react_2.Box, { width: width, position: "relative" },
153
177
  label && (react_1.default.createElement(FormLabel_1.TextLabel, { label: label, isRequired: isRequired, isInformation: isInformation, informationMessage: informationMessage })),
154
- react_1.default.createElement(react_2.Popover, { isLazy: true, isOpen: isOpen, onClose: onClose, placement: "bottom-start", modifiers: [
155
- {
156
- name: "flip",
157
- enabled: true,
158
- options: {
159
- fallbackPlacements: ["top-start", "right-start", "left-start"],
160
- },
161
- },
162
- {
163
- name: "preventOverflow",
164
- enabled: true,
165
- options: {
166
- boundary: "viewport",
167
- },
168
- },
169
- ] },
178
+ react_1.default.createElement(react_2.Popover, { isLazy: true, isOpen: isOpen, onClose: onClose, placement: "bottom-start", initialFocusRef: inputRef, closeOnBlur: true },
170
179
  react_1.default.createElement(react_2.PopoverTrigger, null,
171
- react_1.default.createElement(react_2.Box, { onClick: onOpen },
180
+ react_1.default.createElement(react_2.Box, { onClick: handleOpen },
172
181
  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 }))),
173
- react_1.default.createElement(react_2.PopoverContent, { width: "auto", p: 2 },
182
+ react_1.default.createElement(react_2.PopoverContent, { width: "auto", p: 2, ref: popoverRef },
174
183
  react_1.default.createElement(react_2.PopoverBody, null,
175
184
  showDate && (react_1.default.createElement(react_1.default.Fragment, null,
176
185
  react_1.default.createElement(react_2.Box, { display: "flex", justifyContent: "space-between", mb: 2 },
@@ -187,8 +196,7 @@ function CustomDatePicker(props) {
187
196
  } })),
188
197
  react_1.default.createElement(react_2.Box, { display: "flex", justifyContent: "space-between", mt: 3 },
189
198
  react_1.default.createElement(Button_1.default, { size: "sm", variant: "ghost", onClick: function () {
190
- var now = new Date();
191
- setTempDate(now);
199
+ setTempDate(null);
192
200
  setTempRangeStart(null);
193
201
  setTempRangeEnd(null);
194
202
  setRangeStart(null);
@@ -201,10 +209,7 @@ function CustomDatePicker(props) {
201
209
  if (isRange && tempRangeStart && tempRangeEnd) {
202
210
  setRangeStart(tempRangeStart);
203
211
  setRangeEnd(tempRangeEnd);
204
- props.onChange({
205
- from: tempRangeStart,
206
- to: tempRangeEnd,
207
- });
212
+ props.onChange({ from: tempRangeStart, to: tempRangeEnd });
208
213
  }
209
214
  else if (!isRange && tempDate) {
210
215
  props.onChange(tempDate);
@@ -25,12 +25,13 @@ export interface SingleDatePickerProps extends BaseDatePickerProps {
25
25
  selectedDate?: Date | null;
26
26
  onChange: (date: Date | null) => void;
27
27
  }
28
+ export interface RangeDate {
29
+ from: Date | null;
30
+ to: Date | null;
31
+ }
28
32
  export interface RangeDatePickerProps extends BaseDatePickerProps {
29
33
  isRange: true;
30
- selectedDate?: Date | null;
31
- onChange: ((date: Date | null) => void) | ((range: {
32
- from: Date | null;
33
- to: Date | null;
34
- } | null) => void);
34
+ selectedDate?: RangeDate | null;
35
+ onChange: (range: RangeDate | null) => void;
35
36
  }
36
37
  export type DatePickerProps = SingleDatePickerProps | RangeDatePickerProps;
@@ -24,7 +24,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  var react_1 = __importStar(require("react"));
27
- var padZero = function (num) { return (num < 10 ? "0".concat(num) : "".concat(num)); };
28
27
  var TimePicker = function (_a) {
29
28
  var date = _a.date, onChange = _a.onChange, dateFormat = _a.dateFormat;
30
29
  var is12HourFormat = /(hh|h).*a/i.test(dateFormat);
@@ -36,12 +35,9 @@ var TimePicker = function (_a) {
36
35
  setMinute(date.getMinutes());
37
36
  }, [date]);
38
37
  var convertTo24Hour = function (hr, meridiem) {
39
- if (meridiem === "AM") {
38
+ if (meridiem === "AM")
40
39
  return hr === 12 ? 0 : hr;
41
- }
42
- else {
43
- return hr === 12 ? 12 : hr + 12;
44
- }
40
+ return hr === 12 ? 12 : hr + 12;
45
41
  };
46
42
  var updateTime = function (hrInput, min, meridiem) {
47
43
  var newHour = is12HourFormat ? convertTo24Hour(hrInput, meridiem || ampm) : hrInput;
@@ -70,8 +66,7 @@ var TimePicker = function (_a) {
70
66
  setMinute(min);
71
67
  updateTime(hour, min, ampm);
72
68
  };
73
- var handleAmpmToggle = function (e) {
74
- e.preventDefault();
69
+ var handleAmpmToggle = function () {
75
70
  var newMeridiem = ampm === "AM" ? "PM" : "AM";
76
71
  var displayHr = hour % 12 === 0 ? 12 : hour % 12;
77
72
  var newHr = convertTo24Hour(displayHr, newMeridiem);
@@ -80,9 +75,9 @@ var TimePicker = function (_a) {
80
75
  };
81
76
  var displayHour = is12HourFormat ? (hour % 12 === 0 ? 12 : hour % 12) : hour;
82
77
  return (react_1.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem", fontSize: "1.25rem" } },
83
- react_1.default.createElement("input", { type: "number", value: padZero(displayHour), onChange: handleHourChange, min: is12HourFormat ? 1 : 0, max: is12HourFormat ? 12 : 23, style: { width: "3rem", textAlign: "center" } }),
78
+ react_1.default.createElement("input", { type: "number", value: displayHour, onChange: handleHourChange, min: is12HourFormat ? 1 : 0, max: is12HourFormat ? 12 : 23, style: { width: "3rem", textAlign: "center" } }),
84
79
  ":",
85
- react_1.default.createElement("input", { type: "number", value: padZero(minute), onChange: handleMinuteChange, min: 0, max: 59, style: { width: "3rem", textAlign: "center" } }),
86
- is12HourFormat && (react_1.default.createElement("button", { onClick: function () { return handleAmpmToggle; }, style: { fontWeight: "bold", padding: "0.25rem 0.5rem" } }, ampm))));
80
+ react_1.default.createElement("input", { type: "number", value: minute, onChange: handleMinuteChange, min: 0, max: 59, style: { width: "3rem", textAlign: "center" } }),
81
+ is12HourFormat && (react_1.default.createElement("button", { onClick: handleAmpmToggle, style: { fontWeight: "bold", padding: "0.25rem 0.5rem" } }, ampm))));
87
82
  };
88
83
  exports.default = TimePicker;
@@ -39,24 +39,31 @@ exports.Input = {
39
39
  borderColor: borderColor,
40
40
  _hover: {
41
41
  borderColor: primary,
42
- boxShadow: "0 0 0 0.125rem ".concat(shadowPrimary),
42
+ // boxShadow: `0 0 0 0.125rem ${shadowPrimary}`,
43
+ outline: "0"
43
44
  },
44
45
  _focus: {
45
46
  borderColor: primary,
46
47
  boxShadow: "0 0 0 0.125rem ".concat(shadowPrimary),
48
+ outline: "0"
47
49
  },
48
50
  _invalid: {
49
51
  borderColor: errorColor,
50
52
  boxShadow: "0 0 0 0.125rem ".concat(shadowError),
51
53
  _hover: {
52
54
  borderColor: errorColor,
53
- boxShadow: "0 0 0 0.125rem ".concat(shadowError),
55
+ // boxShadow: `0 0 0 0.125rem ${shadowError}`,
56
+ outline: "0"
54
57
  },
55
58
  _focus: {
56
59
  borderColor: errorColor,
57
60
  boxShadow: "0 0 0 0.125rem ".concat(shadowError),
61
+ outline: "0"
58
62
  },
59
63
  },
64
+ _readOnly: {
65
+ boxShadow: 'inherit',
66
+ },
60
67
  },
61
68
  };
62
69
  },
@@ -50,7 +50,7 @@ var AccountCard = function (_a) {
50
50
  var _b = (0, react_1.useState)(false), showMore = _b[0], setShowMore = _b[1];
51
51
  var keys = Object.keys(account).filter(function (key) { return typeof account[key] === "string" && !excludeKeys.includes(key); });
52
52
  var visibleKeys = showMore ? keys : keys.slice(0, 4);
53
- return (react_1.default.createElement(dnd_1.Draggable, { draggableId: account.id, index: index }, function (provided) {
53
+ return (react_1.default.createElement(dnd_1.Draggable, { draggableId: account.id.toString(), index: index }, function (provided) {
54
54
  var _a, _b, _c, _d, _e, _f;
55
55
  return (react_1.default.createElement(react_2.Box, __assign({ ref: provided.innerRef }, provided.draggableProps, provided.dragHandleProps, { width: "16.5rem", borderRadius: "0.25rem", borderWidth: "0.063rem", background: (_a = colors === null || colors === void 0 ? void 0 : colors.background) === null || _a === void 0 ? void 0 : _a[500], border: "0.1rem solid ".concat((_b = colors.gray) === null || _b === void 0 ? void 0 : _b[200]), p: 2, mt: 3 }),
56
56
  react_1.default.createElement(react_2.VStack, { align: "start", spacing: 2, fontSize: "0.875rem", color: (_c = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _c === void 0 ? void 0 : _c[700], overflow: "none" },
@@ -88,17 +88,22 @@ var KanbanBoard = function (_a) {
88
88
  });
89
89
  }
90
90
  };
91
+ var handleColumnDelete = function (colId) {
92
+ var _a;
93
+ var columnIds = ((_a = columns[colId]) === null || _a === void 0 ? void 0 : _a.items.map(function (item) { return item.id; })) || [];
94
+ onColumnDelete === null || onColumnDelete === void 0 ? void 0 : onColumnDelete(columnIds);
95
+ };
91
96
  return (react_1.default.createElement(dnd_1.DragDropContext, { onDragEnd: onDragEnd },
92
97
  react_1.default.createElement(react_2.Flex, { gap: 4, p: 4, bg: (_b = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _b === void 0 ? void 0 : _b[200], minH: "100vh", overflowX: "auto", maxWidth: "100vw" }, Object.entries(columns).map(function (_a) {
93
98
  var colId = _a[0], column = _a[1];
94
- return (react_1.default.createElement(dnd_1.Droppable, { droppableId: colId, key: colId }, function (provided, snapshot) {
99
+ return (react_1.default.createElement(dnd_1.Droppable, { droppableId: colId.toString(), key: colId }, function (provided, snapshot) {
95
100
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
96
101
  return (react_1.default.createElement(react_2.Box, __assign({ ref: provided.innerRef }, provided.droppableProps, { width: "17.5rem", opacity: 1, borderRadius: "0.5rem", borderWidth: "0.063rem", background: snapshot.isDraggingOver
97
102
  ? (_a = colors === null || colors === void 0 ? void 0 : colors.blue) === null || _a === void 0 ? void 0 : _a[50]
98
103
  : (_b = colors === null || colors === void 0 ? void 0 : colors.background) === null || _b === void 0 ? void 0 : _b[100], border: "".concat(snapshot.isDraggingOver ? "0.5px dashed" + ((_c = colors === null || colors === void 0 ? void 0 : colors.blue) === null || _c === void 0 ? void 0 : _c[500]) : "0.125rem solid" + ((_d = colors.gray) === null || _d === void 0 ? void 0 : _d[200])), display: "flex", flexDirection: "column" }),
99
104
  react_1.default.createElement(react_2.Flex, { width: "16.5rem", height: "2.75rem", borderRadius: "0.25rem", borderLeft: "0.188rem solid", borderLeftColor: (_e = column.color) !== null && _e !== void 0 ? _e : (_f = colors === null || colors === void 0 ? void 0 : colors.primary) === null || _f === void 0 ? void 0 : _f[500], background: (_g = colors === null || colors === void 0 ? void 0 : colors.gray) === null || _g === void 0 ? void 0 : _g[100], align: "center", px: 2, mb: 3, flexShrink: 0, m: 2, display: "flex", justifyContent: "space-between" },
100
105
  react_1.default.createElement(react_2.Text, { fontWeight: "600", fontSize: "1rem", lineHeight: "100%", letterSpacing: "0%", color: (_h = colors === null || colors === void 0 ? void 0 : colors.text) === null || _h === void 0 ? void 0 : _h[700] }, column.title),
101
- 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 onColumnDelete === null || onColumnDelete === void 0 ? void 0 : onColumnDelete(colId); } })),
106
+ 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); } })),
102
107
  react_1.default.createElement(react_2.Box, { px: 2, pb: 2, overflowY: "auto", maxHeight: "calc(100vh - 7rem)", overflowX: "hidden" },
103
108
  column.items.map(function (account, index) { return (react_1.default.createElement(AccountCard_1.default, { key: account.id, account: account, index: index, onDelete: onDelete, onOpen: onOpen })); }),
104
109
  provided.placeholder)));
@@ -17,7 +17,7 @@ export type KanbanBoardProps = {
17
17
  data: Record<string, ColumnType>;
18
18
  onDelete?: (account: Account) => void;
19
19
  onOpen?: (account: Account) => void;
20
- onColumnDelete?: (colId: string | number) => void;
20
+ onColumnDelete?: (colId: (string | number)[]) => void;
21
21
  onDrag?: ({ from, to, item, }: {
22
22
  from: string;
23
23
  to: string;
@@ -29,32 +29,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  var react_1 = __importStar(require("react"));
30
30
  var DatePicker_1 = __importDefault(require("../Components/DatePicker/DatePicker"));
31
31
  var DatePick = function () {
32
- var _a = (0, react_1.useState)(new Date()), selectedDate = _a[0], setSelectedDate = _a[1];
32
+ var _a = (0, react_1.useState)(null), selectedDate = _a[0], setSelectedDate = _a[1];
33
+ var _b = (0, react_1.useState)(null), selectedTime = _b[0], setSelectedTime = _b[1];
34
+ var _c = (0, react_1.useState)(null), selectedDateTime = _c[0], setSelectedDateTime = _c[1];
35
+ var _d = (0, react_1.useState)(null), selectedDateRange = _d[0], setSelectedDateRange = _d[1];
33
36
  var handleDateChange = function (value) {
34
- console.log("Date change event:", value);
35
- if (!value) {
36
- console.log("Date cleared");
37
- return;
38
- }
39
- if ("from" in value && "to" in value) {
40
- var from = value.from, to = value.to;
41
- if (from && to) {
42
- console.log("Range selected:", from, to);
43
- }
44
- else {
45
- console.log("Incomplete range selected:", value);
46
- }
37
+ setSelectedDate(value);
38
+ console.log("Date selected:", value);
39
+ };
40
+ var handleTimeChange = function (value) {
41
+ setSelectedTime(value);
42
+ console.log("Time selected:", value);
43
+ };
44
+ var handleDateTimeChange = function (value) {
45
+ setSelectedDateTime(value);
46
+ console.log("DateTime selected:", value);
47
+ };
48
+ var handleDateRangeChange = function (value) {
49
+ if (value && "from" in value && "to" in value) {
50
+ setSelectedDateRange(value);
51
+ console.log("Date range selected:", value.from, value.to);
47
52
  }
48
53
  else {
49
- setSelectedDate(value);
50
- console.log("Date selected:", value);
54
+ setSelectedDateRange(null);
55
+ console.log("Date range cleared");
51
56
  }
52
57
  };
53
58
  return (react_1.default.createElement("div", null,
54
59
  react_1.default.createElement("h2", null, "Single Date Picker"),
55
- react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedDate, onChange: handleDateChange, dateFormat: "HH:mm", pickerType: "time", width: "300px" }),
60
+ react_1.default.createElement("h2", null, "Date "),
61
+ react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedDate, onChange: handleDateChange, dateFormat: "dd/MM/yyyy", pickerType: "date", width: "300px", error: true, errorMessage: "Invalid date" }),
62
+ react_1.default.createElement("h2", null, "time "),
63
+ react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedTime, onChange: handleTimeChange, dateFormat: "HH:mm", pickerType: "time", width: "300px", error: true, errorMessage: "Invalid date" }),
64
+ react_1.default.createElement("h2", null, "datetime "),
65
+ react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedDateTime, onChange: handleDateTimeChange, dateFormat: "dd/MM/yyyy HH:mm", pickerType: "datetime", width: "300px", error: true, errorMessage: "Invalid date" }),
56
66
  react_1.default.createElement("br", null),
57
67
  react_1.default.createElement("h2", null, "Date Range Picker"),
58
- react_1.default.createElement(DatePicker_1.default, { isRange: true, dateFormat: "dd/MM/yyyy", pickerType: "datetime", onChange: handleDateChange })));
68
+ react_1.default.createElement(DatePicker_1.default, { isRange: true, dateFormat: "dd/MM/yyyy", pickerType: "date", onChange: handleDateRangeChange, selectedDate: selectedDateRange, width: "300px", error: true, errorMessage: "Invalid date" })));
59
69
  };
60
70
  exports.default = DatePick;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelize-design-library",
3
- "version": "2.0.8",
3
+ "version": "2.0.10",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -1,14 +0,0 @@
1
- import React from "react";
2
- type CustomHeaderProps = {
3
- column: any;
4
- onSortChange?: (sortState: string, columnName: string) => void;
5
- menuItems?: Array<{
6
- label: string;
7
- onClick: () => void;
8
- submenu?: any[];
9
- }>;
10
- isSort?: boolean;
11
- sortDirection: string;
12
- };
13
- declare const CustomHeader: React.MemoExoticComponent<({ column, onSortChange, menuItems, isSort, sortDirection, }: CustomHeaderProps) => React.JSX.Element>;
14
- export default CustomHeader;
@@ -1,69 +0,0 @@
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 bs_1 = require("react-icons/bs");
29
- var fa_1 = require("react-icons/fa");
30
- var useCustomTheme_1 = require("../../Theme/useCustomTheme");
31
- var CustomHeader = (0, react_1.memo)(function (_a) {
32
- var column = _a.column, onSortChange = _a.onSortChange, menuItems = _a.menuItems, isSort = _a.isSort, sortDirection = _a.sortDirection;
33
- var handleSortClick = (0, react_1.useCallback)(function () {
34
- var sortOrder = "none";
35
- if (sortDirection === "none")
36
- sortOrder = "asc";
37
- else if (sortDirection === "asc")
38
- sortOrder = "desc";
39
- onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(sortOrder, column.key);
40
- }, [sortDirection, column.key, onSortChange]);
41
- return (react_1.default.createElement(react_2.Box, { display: "flex", justifyContent: "space-between", alignItems: "center" },
42
- react_1.default.createElement(react_2.Box, { fontWeight: "bold" }, column.title),
43
- react_1.default.createElement(react_2.Flex, { alignItems: "center" },
44
- isSort && (react_1.default.createElement(SortingIcon, { sortState: sortDirection, handleSortClick: handleSortClick })),
45
- menuItems && (menuItems === null || menuItems === void 0 ? void 0 : menuItems.length) ? (react_1.default.createElement(react_2.Menu, null,
46
- react_1.default.createElement(react_2.MenuButton, { as: react_2.IconButton, "aria-label": "Options", icon: react_1.default.createElement(bs_1.BsThreeDots, null), size: "sm", variant: "ghost", _hover: { bg: "none" }, _active: { bg: "none" } }),
47
- react_1.default.createElement(react_2.Portal, null,
48
- react_1.default.createElement(react_2.MenuList, null, menuItems.map(function (item, index) { return (react_1.default.createElement(react_1.default.Fragment, { key: index },
49
- react_1.default.createElement(react_2.MenuItem, { onClick: function () { return item === null || item === void 0 ? void 0 : item.onClick(); } }, item.label),
50
- item.submenu && react_1.default.createElement(Submenu, { items: item.submenu }))); }))))) : null)));
51
- });
52
- var SortingIcon = (0, react_1.memo)(function (_a) {
53
- var sortState = _a.sortState, handleSortClick = _a.handleSortClick;
54
- var theme = (0, useCustomTheme_1.useCustomTheme)();
55
- return (react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center", justifyContent: "center", bg: theme.colors.white, borderRadius: "full", cursor: "pointer", w: "24px", h: "24px", onClick: handleSortClick, transition: "transform 0.2s ease-in-out", _hover: { transform: "scale(1.1)" } },
56
- sortState === "none" && react_1.default.createElement(fa_1.FaSort, { size: 14 }),
57
- sortState === "asc" && react_1.default.createElement(fa_1.FaCaretUp, { size: 14 }),
58
- sortState === "desc" && react_1.default.createElement(fa_1.FaCaretDown, { size: 14 })));
59
- });
60
- var Submenu = (0, react_1.memo)(function (_a) {
61
- var items = _a.items;
62
- return (react_1.default.createElement(react_2.MenuGroup, null, items.map(function (subItem, index) { return (react_1.default.createElement(react_2.MenuItem, { key: index, onClick: function () { return (subItem === null || subItem === void 0 ? void 0 : subItem.onClick) && (subItem === null || subItem === void 0 ? void 0 : subItem.onClick()); }, sx: {
63
- pl: 6,
64
- fontSize: "sm",
65
- color: "gray.600",
66
- _hover: { bg: "gray.100", color: "gray.800" }, // Hover styles
67
- } }, subItem.label)); })));
68
- });
69
- exports.default = CustomHeader;
@@ -1,13 +0,0 @@
1
- import React from "react";
2
- import * as TableEnums from "ka-table/enums";
3
- import * as TableProps from "ka-table/props";
4
- import * as TableActionCreator from "ka-table/actionCreators";
5
- import * as TableModel from "ka-table/models";
6
- import * as TableUtils from "ka-table/utils";
7
- import * as TableFun from "ka-table";
8
- import "ka-table/style.css";
9
- import "./ka-table.css";
10
- import { KaTableProps } from "./KaTableProps";
11
- declare const _default: React.MemoExoticComponent<({ columns, data, rowKey, Edit, format, filter, childComponents, columnReorder, columnResizing, editableCells, validation, loading, checkSelect, onRowClick, onSelectionChange, selected, columnVisibility, headerBgColor, freezedBgColor, headerTextColor, freezedTextColor, }: KaTableProps) => React.JSX.Element>;
12
- export default _default;
13
- export { TableEnums, TableActionCreator, TableProps, TableModel, TableUtils, TableFun, };
@@ -1,111 +0,0 @@
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
26
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
27
- if (ar || !(i in from)) {
28
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
29
- ar[i] = from[i];
30
- }
31
- }
32
- return to.concat(ar || Array.prototype.slice.call(from));
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.TableFun = exports.TableUtils = exports.TableModel = exports.TableProps = exports.TableActionCreator = exports.TableEnums = void 0;
39
- var react_1 = __importStar(require("react"));
40
- var ka_table_1 = require("ka-table");
41
- var TableEnums = __importStar(require("ka-table/enums"));
42
- exports.TableEnums = TableEnums;
43
- var TableProps = __importStar(require("ka-table/props"));
44
- exports.TableProps = TableProps;
45
- var TableActionCreator = __importStar(require("ka-table/actionCreators"));
46
- exports.TableActionCreator = TableActionCreator;
47
- var TableModel = __importStar(require("ka-table/models"));
48
- exports.TableModel = TableModel;
49
- var TableUtils = __importStar(require("ka-table/utils"));
50
- exports.TableUtils = TableUtils;
51
- var TableFun = __importStar(require("ka-table"));
52
- exports.TableFun = TableFun;
53
- require("ka-table/style.css");
54
- require("./ka-table.css");
55
- var useMergedChildComponents_1 = __importDefault(require("./useMergedChildComponents"));
56
- var useCustomTheme_1 = require("../../Theme/useCustomTheme");
57
- var table_1 = require("../../Utils/table");
58
- var selectionCellColumn = {
59
- key: "select-cell",
60
- width: 50,
61
- columnFreeze: true,
62
- customHeader: false,
63
- className: "select-cell",
64
- };
65
- var KaTable = function (_a) {
66
- var _b, _c;
67
- var columns = _a.columns, data = _a.data, _d = _a.rowKey, rowKey = _d === void 0 ? "id" : _d, Edit = _a.Edit,
68
- // sorting,
69
- format = _a.format,
70
- // paging,
71
- filter = _a.filter, childComponents = _a.childComponents, columnReorder = _a.columnReorder, columnResizing = _a.columnResizing, editableCells = _a.editableCells, validation = _a.validation, loading = _a.loading, checkSelect = _a.checkSelect, onRowClick = _a.onRowClick, onSelectionChange = _a.onSelectionChange, selected = _a.selected, columnVisibility = _a.columnVisibility, headerBgColor = _a.headerBgColor, freezedBgColor = _a.freezedBgColor, headerTextColor = _a.headerTextColor, freezedTextColor = _a.freezedTextColor;
72
- var theme = (0, useCustomTheme_1.useCustomTheme)();
73
- var _e = (0, react_1.useState)([]), sortState = _e[0], setSortState = _e[1];
74
- if (checkSelect &&
75
- !columns.some(function (column) { return column.key === "select-cell"; })) {
76
- columns.unshift(selectionCellColumn);
77
- }
78
- var dataLength = (_b = data === null || data === void 0 ? void 0 : data.length) !== null && _b !== void 0 ? _b : 0;
79
- // const columnVisibilitys = columnVisibility ?? false;
80
- var handleSort = function (sort) {
81
- setSortState(sort);
82
- };
83
- var sortedData = (0, react_1.useMemo)(function () { return (0, table_1.SortMultiColumnData)(__spreadArray([], data, true), sortState); }, [sortState, data]);
84
- var mergedChildComponents = (0, useMergedChildComponents_1.default)({
85
- childComponents: childComponents,
86
- onSortChange: handleSort,
87
- handleSelection: onSelectionChange,
88
- rowKey: rowKey,
89
- onRowClick: onRowClick,
90
- selected: selected,
91
- dataLength: dataLength,
92
- columns: columns,
93
- headerBgColor: headerBgColor,
94
- freezedBgColor: freezedBgColor,
95
- headerTextColor: headerTextColor,
96
- freezedTextColor: freezedTextColor,
97
- sortState: sortState,
98
- });
99
- return (react_1.default.createElement("div", { style: {
100
- borderRadius: "10px 0 0 10px",
101
- borderWidth: "0px 0px 0px 5px",
102
- borderColor: (_c = theme.colors) === null || _c === void 0 ? void 0 : _c.gray[500],
103
- boxShadow: theme.shadows.lg,
104
- } },
105
- react_1.default.createElement(ka_table_1.Table, { columns: columns, data: sortedData, rowKeyField: rowKey, editingMode: Edit, key: columns, sortingMode: TableEnums.SortingMode.MultipleRemote, format: format,
106
- // paging={paging}
107
- filteringMode: undefined, childComponents: mergedChildComponents, columnReordering: columnReorder, columnResizing: columnResizing, editableCells: editableCells, validation: validation, loading: loading, virtualScrolling: {
108
- enabled: true,
109
- } })));
110
- };
111
- exports.default = react_1.default.memo(KaTable);
@@ -1,23 +0,0 @@
1
- export type KaTableProps = {
2
- columns: any;
3
- data: any;
4
- rowKey?: any;
5
- Edit?: any;
6
- format?: (props: any) => void;
7
- validation?: (props: any) => void;
8
- filter?: any;
9
- childComponents?: any;
10
- columnReorder?: any;
11
- columnResizing?: any;
12
- editableCells?: any;
13
- loading?: any;
14
- checkSelect?: any;
15
- onRowClick?: (rowData: any, column: any) => void;
16
- onSelectionChange?: (selectedIds: any[]) => void;
17
- selected?: any;
18
- columnVisibility?: boolean;
19
- headerBgColor?: string;
20
- headerTextColor?: string;
21
- freezedBgColor?: string;
22
- freezedTextColor?: string;
23
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { TableProps } from "./KaTable";
3
- declare const _default: React.MemoExoticComponent<({ rowKeyValue, selectedRows, onSelectionChange, selected, }: TableProps.ICellTextProps<any> & {
4
- onSelectionChange: (ids: any[], type: string) => void;
5
- rowKey: any;
6
- selected: any;
7
- }) => React.JSX.Element>;
8
- export default _default;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- var react_1 = __importDefault(require("react"));
16
- var KaTable_1 = require("./KaTable");
17
- var SelectionCell = function (_a) {
18
- var rowKeyValue = _a.rowKeyValue, selectedRows = _a.selectedRows, onSelectionChange = _a.onSelectionChange, selected = _a.selected;
19
- var table = KaTable_1.TableFun.useTableInstance();
20
- var onChangeHandle = function (event) {
21
- if (event.nativeEvent.shiftKey) {
22
- table.selectRowsRange(rowKeyValue, __spreadArray([], selectedRows, true).pop());
23
- }
24
- else {
25
- var isChecked = event.currentTarget.checked;
26
- var action = isChecked ? "add" : "remove";
27
- onSelectionChange(rowKeyValue, action);
28
- if (isChecked) {
29
- table.selectRow(rowKeyValue);
30
- }
31
- else {
32
- table.deselectRow(rowKeyValue);
33
- }
34
- }
35
- };
36
- return react_1.default.createElement("input", { type: "checkbox", checked: selected, onChange: onChangeHandle, style: { marginLeft: "37%" } });
37
- };
38
- exports.default = react_1.default.memo(SelectionCell);