pixelize-design-library 2.2.52 → 2.2.54

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.
Files changed (38) hide show
  1. package/dist/Assets/defaultLogo.tsx +31 -0
  2. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.stories.d.ts +1 -0
  3. package/dist/Components/Apexcharts/ApexBarChart/ApexBarChart.stories.js +6 -0
  4. package/dist/Components/Apexcharts/ApexDonutChart/ApexDonutChart.d.ts +4 -0
  5. package/dist/Components/Apexcharts/ApexDonutChart/ApexDonutChart.js +58 -0
  6. package/dist/Components/Apexcharts/ApexDonutChart/ApexDonutChartProps.d.ts +21 -0
  7. package/dist/Components/Apexcharts/ApexDonutChart/ApexDonutChartProps.js +2 -0
  8. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.stories.d.ts +1 -0
  9. package/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.stories.js +6 -0
  10. package/dist/Components/DatePicker/CalendarPanel.js +22 -9
  11. package/dist/Components/DatePicker/DatePicker.js +11 -2
  12. package/dist/Components/DatePicker/DatePickerProps.d.ts +1 -0
  13. package/dist/Components/DatePicker/RangeDatePicker.js +41 -12
  14. package/dist/Components/DatePicker/SingleDatePicker.js +15 -15
  15. package/dist/Components/DatePicker/TimeOnlyPicker.js +3 -0
  16. package/dist/Components/DatePicker/TimePicker.js +8 -8
  17. package/dist/Components/DatePicker/TimePickerInput.js +78 -8
  18. package/dist/Components/InputTextArea/InputTextArea.stories.d.ts +1 -0
  19. package/dist/Components/InputTextArea/InputTextArea.stories.js +7 -0
  20. package/dist/Components/KaTable/CustomHeader.d.ts +14 -0
  21. package/dist/Components/KaTable/CustomHeader.js +69 -0
  22. package/dist/Components/KaTable/KaTable.d.ts +13 -0
  23. package/dist/Components/KaTable/KaTable.js +111 -0
  24. package/dist/Components/KaTable/KaTableProps.d.ts +23 -0
  25. package/dist/Components/KaTable/KaTableProps.js +2 -0
  26. package/dist/Components/KaTable/SelectionCell.d.ts +8 -0
  27. package/dist/Components/KaTable/SelectionCell.js +38 -0
  28. package/dist/Components/KaTable/SelectionHeader.d.ts +3 -0
  29. package/dist/Components/KaTable/SelectionHeader.js +56 -0
  30. package/dist/Components/KaTable/ka-table.css +27 -0
  31. package/dist/Components/KaTable/useMergedChildComponents.d.ts +14 -0
  32. package/dist/Components/KaTable/useMergedChildComponents.js +224 -0
  33. package/dist/Components/NumberInput/NumberInput.stories.d.ts +1 -0
  34. package/dist/Components/NumberInput/NumberInput.stories.js +5 -0
  35. package/dist/Components/Table/Table.css +16 -0
  36. package/dist/Theme/Default/fonts.d.ts +35 -0
  37. package/dist/Theme/Default/fonts.js +37 -0
  38. package/package.json +1 -1
@@ -111,7 +111,9 @@ var caretFromDigitIndex = function (digitIndex, digitsLen) {
111
111
  return 3;
112
112
  return digitIndex + 1;
113
113
  };
114
- var formatToPlaceholder = function (formatStr) { return formatStr.replace(/h{1,2}/gi, "HH").replace(/m{1,2}/gi, "mm").replace(/a{1,2}/gi, "AM"); };
114
+ var formatToPlaceholder = function (formatStr) {
115
+ return formatStr.replace(/h{1,2}/gi, "HH").replace(/m{1,2}/gi, "mm").replace(/a{1,2}/gi, "AM");
116
+ };
115
117
  var TimePickerInput = function (_a) {
116
118
  var value = _a.value, onChange = _a.onChange, dateFormat = _a.dateFormat, _b = _a.disabled, disabled = _b === void 0 ? false : _b, placeholder = _a.placeholder, onFocus = _a.onFocus, onBlur = _a.onBlur;
117
119
  var theme = (0, useCustomTheme_1.useCustomTheme)();
@@ -123,6 +125,8 @@ var TimePickerInput = function (_a) {
123
125
  var _e = (0, react_1.useState)("hour"), activeSegment = _e[0], setActiveSegment = _e[1];
124
126
  var is12Hour = (0, react_1.useMemo)(function () { return /h{1,2}/i.test(dateFormat) && !/H{1,2}/.test(dateFormat); }, [dateFormat]);
125
127
  var placeholderText = (0, react_1.useMemo)(function () { return placeholder || formatToPlaceholder(dateFormat); }, [placeholder, dateFormat]);
128
+ var ampmRef = (0, react_1.useRef)("AM");
129
+ var _f = (0, react_1.useState)("AM"), ampm = _f[0], setAmpm = _f[1];
126
130
  var setInputValueAndCaret = (0, react_1.useCallback)(function (formatted, caretDigitIndex) {
127
131
  requestAnimationFrame(function () {
128
132
  var el = inputRef.current;
@@ -142,7 +146,8 @@ var TimePickerInput = function (_a) {
142
146
  var nextDigitIndex = Math.max(0, Math.min(desiredDigitIndex, maxDigitIndex));
143
147
  setInputValueAndCaret(formatted, nextDigitIndex);
144
148
  if (clamped.length === 4) {
145
- var parsed = (0, date_fns_1.parse)(formatted, dateFormat, new Date());
149
+ var formattedInput = is12Hour ? "".concat(formatted, " ").concat(ampmRef.current || "AM") : formatted;
150
+ var parsed = (0, date_fns_1.parse)(formattedInput, dateFormat, new Date());
146
151
  if ((0, date_fns_1.isValid)(parsed))
147
152
  onChange(parsed);
148
153
  }
@@ -151,6 +156,38 @@ var TimePickerInput = function (_a) {
151
156
  }
152
157
  return { digits: clamped, nextDigitIndex: nextDigitIndex };
153
158
  }, [dateFormat, is12Hour, onChange, setInputValueAndCaret]);
159
+ var updateAmpmValue = (0, react_1.useCallback)(function (next) {
160
+ if (!is12Hour)
161
+ return;
162
+ var upperNext = next.toUpperCase() === "PM" ? "PM" : "AM";
163
+ var formattedDigits = formatDigits(digitsRef.current);
164
+ ampmRef.current = upperNext;
165
+ setAmpm(upperNext);
166
+ if (digitsRef.current.length === 4) {
167
+ var parsed = (0, date_fns_1.parse)("".concat(formattedDigits, " ").concat(upperNext), dateFormat, new Date());
168
+ if ((0, date_fns_1.isValid)(parsed))
169
+ onChange(parsed);
170
+ }
171
+ var el = inputRef.current;
172
+ if (!el)
173
+ return;
174
+ if (isFocusedRef.current) {
175
+ el.value = formattedDigits;
176
+ }
177
+ else {
178
+ el.value = formattedDigits ? "".concat(formattedDigits, " ").concat(upperNext) : "";
179
+ }
180
+ }, [dateFormat, is12Hour, onChange]);
181
+ var toggleAmpm = (0, react_1.useCallback)(function () {
182
+ if (!is12Hour)
183
+ return;
184
+ var current = (ampmRef.current || ampm || "AM").toUpperCase();
185
+ var next = current === "AM" ? "PM" : "AM";
186
+ updateAmpmValue(next);
187
+ }, [ampm, is12Hour, updateAmpmValue]);
188
+ var setAmpmFromKey = (0, react_1.useCallback)(function (next) {
189
+ updateAmpmValue(next);
190
+ }, [updateAmpmValue]);
154
191
  var handleDigitInput = (0, react_1.useCallback)(function (digit) {
155
192
  var _a, _b;
156
193
  var el = inputRef.current;
@@ -269,11 +306,21 @@ var TimePickerInput = function (_a) {
269
306
  handleArrow("right");
270
307
  return;
271
308
  }
309
+ if (is12Hour && (key === "ArrowUp" || key === "ArrowDown")) {
310
+ e.preventDefault();
311
+ toggleAmpm();
312
+ return;
313
+ }
314
+ if (is12Hour && (key.toLowerCase() === "a" || key.toLowerCase() === "p")) {
315
+ e.preventDefault();
316
+ setAmpmFromKey(key.toLowerCase() === "a" ? "AM" : "PM");
317
+ return;
318
+ }
272
319
  if (key === "Tab" || key === "Shift" || key === "Enter" || key === "Escape") {
273
320
  return;
274
321
  }
275
322
  e.preventDefault();
276
- }, [disabled, handleDigitInput, handleBackspace, handleDelete, handleArrow]);
323
+ }, [disabled, handleDigitInput, handleBackspace, handleDelete, handleArrow, is12Hour, toggleAmpm, setAmpmFromKey]);
277
324
  var handleFocus = (0, react_1.useCallback)(function () {
278
325
  setIsFocused(true);
279
326
  isFocusedRef.current = true;
@@ -282,6 +329,7 @@ var TimePickerInput = function (_a) {
282
329
  var el = inputRef.current;
283
330
  if (!el)
284
331
  return;
332
+ el.value = formatDigits(digitsRef.current);
285
333
  el.focus();
286
334
  el.setSelectionRange(0, Math.min(2, el.value.length));
287
335
  });
@@ -290,8 +338,16 @@ var TimePickerInput = function (_a) {
290
338
  var handleBlur = (0, react_1.useCallback)(function () {
291
339
  setIsFocused(false);
292
340
  isFocusedRef.current = false;
341
+ var el = inputRef.current;
342
+ if (el) {
343
+ var formatted = formatDigits(digitsRef.current);
344
+ el.value =
345
+ is12Hour && formatted
346
+ ? "".concat(formatted, " ").concat(ampmRef.current || ampm || "AM")
347
+ : formatted;
348
+ }
293
349
  onBlur === null || onBlur === void 0 ? void 0 : onBlur();
294
- }, [onBlur]);
350
+ }, [onBlur, is12Hour, ampm]);
295
351
  var handleClick = (0, react_1.useCallback)(function () {
296
352
  var _a;
297
353
  var el = inputRef.current;
@@ -330,19 +386,33 @@ var TimePickerInput = function (_a) {
330
386
  }, [applyDigits]);
331
387
  (0, react_1.useEffect)(function () {
332
388
  if (value) {
333
- var newDigits = adjustDigits((0, date_fns_1.format)(value, dateFormat).replace(/\D/g, ""), is12Hour);
389
+ var formattedValue = (0, date_fns_1.format)(value, dateFormat);
390
+ var newDigits = adjustDigits(formattedValue.replace(/\D/g, ""), is12Hour);
334
391
  digitsRef.current = newDigits;
335
392
  setDigits(newDigits);
393
+ if (is12Hour) {
394
+ var newAmpm = (0, date_fns_1.format)(value, "a").toUpperCase();
395
+ ampmRef.current = newAmpm;
396
+ setAmpm(newAmpm);
397
+ }
398
+ else {
399
+ ampmRef.current = "";
400
+ setAmpm("");
401
+ }
336
402
  if (!isFocusedRef.current) {
337
403
  var formatted = formatDigits(newDigits);
338
404
  if (inputRef.current) {
339
- inputRef.current.value = formatted;
405
+ inputRef.current.value = is12Hour && formatted ? "".concat(formatted, " ").concat(ampmRef.current) : formatted;
340
406
  }
341
407
  }
342
408
  }
343
409
  else {
344
410
  digitsRef.current = "";
345
411
  setDigits("");
412
+ if (is12Hour) {
413
+ ampmRef.current = "";
414
+ setAmpm("");
415
+ }
346
416
  if (inputRef.current && !isFocusedRef.current) {
347
417
  inputRef.current.value = "";
348
418
  }
@@ -351,9 +421,9 @@ var TimePickerInput = function (_a) {
351
421
  (0, react_1.useEffect)(function () {
352
422
  var formatted = formatDigits(digits);
353
423
  if (!isFocusedRef.current && inputRef.current) {
354
- inputRef.current.value = formatted;
424
+ inputRef.current.value = is12Hour && formatted ? "".concat(formatted, " ").concat(ampm) : formatted;
355
425
  }
356
- }, [digits]);
426
+ }, [digits, ampm, is12Hour]);
357
427
  return (react_1.default.createElement(react_2.InputGroup, null,
358
428
  react_1.default.createElement(react_2.Input, { ref: inputRef, defaultValue: "", onChange: handleInput, onKeyDown: handleKeyDown, onFocus: handleFocus, onBlur: handleBlur, onClick: handleClick, onPaste: handlePaste, placeholder: placeholderText, isDisabled: disabled, autoComplete: "off" }),
359
429
  react_1.default.createElement(react_2.InputRightElement, { pointerEvents: "none" },
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // import React from "react";
3
+ // import type { Meta, StoryObj } from "@storybook/react/*";
4
+ // import { InputTextAreaProps } from "./InputTextAreaProps";
5
+ // import InputTextArea from "./InputTextArea";
6
+ // import { useState } from "react";
7
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
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;
@@ -0,0 +1,69 @@
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;
@@ -0,0 +1,13 @@
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, };
@@ -0,0 +1,111 @@
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);
@@ -0,0 +1,23 @@
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
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
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;
@@ -0,0 +1,38 @@
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);
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const _default: React.MemoExoticComponent<({ onSelectionChange, rowKey, selected }: any) => React.JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,56 @@
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 KaTable_1 = require("./KaTable");
28
+ var SelectionHeader = function (_a) {
29
+ var onSelectionChange = _a.onSelectionChange, rowKey = _a.rowKey, selected = _a.selected;
30
+ var table = KaTable_1.TableFun.useTableInstance();
31
+ var selectAllRef = (0, react_1.useRef)(null);
32
+ (0, react_1.useEffect)(function () {
33
+ if (selectAllRef.current) {
34
+ selectAllRef.current.indeterminate = selected === null || selected === void 0 ? void 0 : selected.intederminate;
35
+ }
36
+ }, [selected.intederminate]);
37
+ var handleSelectionChange = (0, react_1.useCallback)(function (checked) {
38
+ onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(checked);
39
+ }, [onSelectionChange]);
40
+ return (react_1.default.createElement("input", { ref: selectAllRef, type: "checkbox", checked: selected === null || selected === void 0 ? void 0 : selected.checked, onChange: function (event) {
41
+ var _a, _b;
42
+ var isChecked = event.currentTarget.checked;
43
+ // const action = isChecked ? "add" : "remove";
44
+ var totalIds = isChecked
45
+ ? (_b = (_a = table === null || table === void 0 ? void 0 : table.props) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.map(function (row) { return row[rowKey]; })
46
+ : [];
47
+ handleSelectionChange(totalIds);
48
+ if (isChecked) {
49
+ table.selectAllFilteredRows();
50
+ }
51
+ else {
52
+ table.deselectAllFilteredRows();
53
+ }
54
+ }, style: { marginLeft: "40%" } }));
55
+ };
56
+ exports.default = react_1.default.memo(SelectionHeader);
@@ -0,0 +1,27 @@
1
+ .ka-thead-cell {
2
+ padding: 7px 7px;
3
+ }
4
+ .ka-cell {
5
+ padding: 7px 0px;
6
+ }
7
+
8
+ .ka-thead-background {
9
+ background-color: #bfbcbc;
10
+ z-index: 1;
11
+ }
12
+
13
+ .ka-cell-text {
14
+ overflow: hidden;
15
+ text-overflow: ellipsis;
16
+ white-space: nowrap;
17
+ padding-left: 5%;
18
+ }
19
+ .ka-row {
20
+ box-sizing: unset;
21
+ border-bottom: none;
22
+ border-top: none;
23
+ }
24
+ .ka-table-wrapper {
25
+ border-bottom: 2px solid #d8d9db;
26
+ border-right: 2px solid #d8d9db;
27
+ }
@@ -0,0 +1,14 @@
1
+ import { KaTableProps } from "./KaTableProps";
2
+ type MergedChildComponentsProps = Pick<KaTableProps, "headerBgColor" | "headerTextColor" | "freezedBgColor" | "freezedTextColor"> & {
3
+ childComponents: any;
4
+ onSortChange: any;
5
+ handleSelection: any;
6
+ rowKey: any;
7
+ onRowClick: any;
8
+ selected: any;
9
+ dataLength: number;
10
+ columns: any;
11
+ sortState: any;
12
+ };
13
+ declare const useMergedChildComponents: ({ childComponents, onSortChange, handleSelection, rowKey, onRowClick, selected, dataLength, columns, headerBgColor, freezedBgColor, headerTextColor, freezedTextColor, sortState, }: MergedChildComponentsProps) => any;
14
+ export default useMergedChildComponents;