pixelize-design-library 2.1.66 → 2.1.67

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.
@@ -34,6 +34,7 @@ var TableHeader_1 = __importDefault(require("./Components/TableHeader"));
34
34
  var TableBody_1 = __importDefault(require("./Components/TableBody"));
35
35
  var useCustomTheme_1 = require("../../Theme/useCustomTheme");
36
36
  var useTable_1 = __importDefault(require("./Components/useTable"));
37
+ var table_1 = require("../../Utils/table");
37
38
  var usePreferences_1 = require("../../Hooks/usePreferences");
38
39
  var TableSettings_1 = __importDefault(require("./TableSettings/TableSettings"));
39
40
  var HeaderActions_1 = __importDefault(require("./Components/HeaderActions"));
@@ -41,14 +42,14 @@ var Divider_1 = __importDefault(require("../Divider/Divider"));
41
42
  var TableSearch_1 = __importDefault(require("./Components/TableSearch"));
42
43
  function Table(_a) {
43
44
  var _b, _c, _d, _e, _f, _g;
44
- var data = _a.data, columns = _a.columns, onSelection = _a.onSelection, isLoading = _a.isLoading, _h = _a.isCheckbox, isCheckbox = _h === void 0 ? false : _h, headerBgColor = _a.headerBgColor, freezedBgColor = _a.freezedBgColor, headerTextColor = _a.headerTextColor, freezedTextColor = _a.freezedTextColor, tableBorderColor = _a.tableBorderColor, _j = _a.noBorders, noBorders = _j === void 0 ? false : _j, _k = _a.isPagination, isPagination = _k === void 0 ? true : _k, onRowClick = _a.onRowClick, selections = _a.selections, _l = _a.isActionFreeze, isActionFreeze = _l === void 0 ? true : _l, _m = _a.preferencesUrl, preferencesUrl = _m === void 0 ? "" : _m, _o = _a.preferencesKey, preferencesKey = _o === void 0 ? "" : _o, _p = _a.preferencesName, preferencesName = _p === void 0 ? "" : _p, _q = _a.preferencesPage, preferencesPage = _q === void 0 ? "" : _q, _r = _a.authToken, authToken = _r === void 0 ? "" : _r, _s = _a.paginationMode, paginationMode = _s === void 0 ? "client" : _s, _t = _a.noOfRowsPerPage, noOfRowsPerPage = _t === void 0 ? 50 : _t, _u = _a.totalRecords, totalRecords = _u === void 0 ? 0 : _u, onPagination = _a.onPagination, _v = _a.isTableSettings, isTableSettings = _v === void 0 ? false : _v, headerActions = _a.headerActions, onGlobalSearch = _a.onGlobalSearch, onColumnFilter = _a.onColumnFilter;
45
+ var data = _a.data, columns = _a.columns, onSelection = _a.onSelection, isLoading = _a.isLoading, _h = _a.isCheckbox, isCheckbox = _h === void 0 ? false : _h, headerBgColor = _a.headerBgColor, freezedBgColor = _a.freezedBgColor, headerTextColor = _a.headerTextColor, freezedTextColor = _a.freezedTextColor, tableBorderColor = _a.tableBorderColor, _j = _a.noBorders, noBorders = _j === void 0 ? false : _j, _k = _a.isPagination, isPagination = _k === void 0 ? true : _k, onRowClick = _a.onRowClick, selections = _a.selections, _l = _a.isActionFreeze, isActionFreeze = _l === void 0 ? true : _l, _m = _a.preferencesUrl, preferencesUrl = _m === void 0 ? "" : _m, _o = _a.preferencesKey, preferencesKey = _o === void 0 ? "" : _o, _p = _a.preferencesName, preferencesName = _p === void 0 ? "" : _p, _q = _a.preferencesPage, preferencesPage = _q === void 0 ? "" : _q, _r = _a.authToken, authToken = _r === void 0 ? "" : _r, _s = _a.paginationMode, paginationMode = _s === void 0 ? "client" : _s, _t = _a.noOfRowsPerPage, noOfRowsPerPage = _t === void 0 ? 50 : _t, _u = _a.totalRecords, totalRecords = _u === void 0 ? 0 : _u, onPagination = _a.onPagination, _v = _a.isTableSettings, isTableSettings = _v === void 0 ? false : _v, headerActions = _a.headerActions, onGlobalSearch = _a.onGlobalSearch;
45
46
  var theme = (0, useCustomTheme_1.useCustomTheme)();
46
47
  var _w = (0, react_1.useState)({}), columnsSearch = _w[0], setColumnsSearch = _w[1];
47
- (0, react_1.useEffect)(function () {
48
- if (onColumnFilter) {
49
- onColumnFilter(columnsSearch);
50
- }
51
- }, [columnsSearch, onColumnFilter]);
48
+ // useEffect(() => {
49
+ // if (onColumnFilter) {
50
+ // onColumnFilter(columnsSearch);
51
+ // }
52
+ // }, [columnsSearch, onColumnFilter]);
52
53
  var isServerPagination = paginationMode === "server";
53
54
  var _x = (0, usePreferences_1.useGetPreferences)({
54
55
  baseUrl: preferencesUrl,
@@ -86,9 +87,9 @@ function Table(_a) {
86
87
  totalRecords: totalRecords,
87
88
  isServerPagination: isServerPagination,
88
89
  }), tableData = _y.tableData, isContent = _y.isContent, isLink = _y.isLink, headerRefs = _y.headerRefs, columnWidths = _y.columnWidths, handleSort = _y.handleSort, handleCheckbox = _y.handleCheckbox, filteredData = _y.filteredData, startRow = _y.startRow, endRow = _y.endRow, selection = _y.selection, columnsSort = _y.columnsSort, currentPage = _y.currentPage, pages = _y.pages, rowsPerPage = _y.rowsPerPage, handlePageSizeChange = _y.handlePageSizeChange, setCurrentPage = _y.setCurrentPage, columnsList = _y.columnsList, handleColumnPreferences = _y.handleColumnPreferences;
89
- // const _filteredData = useMemo(() => {
90
- // return searchAndSortData(filteredData, columnsSearch);
91
- // }, [columnsSearch, filteredData]);
90
+ var _filteredData = (0, react_1.useMemo)(function () {
91
+ return (0, table_1.searchAndSortData)(filteredData, columnsSearch);
92
+ }, [columnsSearch, filteredData]);
92
93
  (0, react_1.useEffect)(function () {
93
94
  if (onPagination) {
94
95
  onPagination(currentPage + 1, noOfRowsPerPage);
@@ -128,6 +129,6 @@ function Table(_a) {
128
129
  ? false
129
130
  : "indeterminate", isContent: isContent, isLink: isLink, isActionFreeze: isActionFreeze, setColumnsSearch: setColumnsSearch, columnsSearch: columnsSearch })),
130
131
  react_1.default.createElement(react_3.Tbody, null,
131
- react_1.default.createElement(TableBody_1.default, { data: filteredData, columns: columnsList, startRow: startRow, endRow: endRow, isCheckbox: isCheckbox, columnWidths: columnWidths, noBorders: noBorders, freezedBgColor: freezedBgColor !== null && freezedBgColor !== void 0 ? freezedBgColor : theme.colors.backgroundColor.secondary, freezedTextColor: freezedTextColor !== null && freezedTextColor !== void 0 ? freezedTextColor : (_g = theme.colors) === null || _g === void 0 ? void 0 : _g.gray[600], handleCheckbox: handleCheckbox, selections: selection, isLoading: isTableLoading, onRowClick: onRowClick, isContent: isContent, isLink: isLink, isActionFreeze: isActionFreeze }))))));
132
+ react_1.default.createElement(TableBody_1.default, { data: _filteredData, columns: columnsList, startRow: startRow, endRow: endRow, isCheckbox: isCheckbox, columnWidths: columnWidths, noBorders: noBorders, freezedBgColor: freezedBgColor !== null && freezedBgColor !== void 0 ? freezedBgColor : theme.colors.backgroundColor.secondary, freezedTextColor: freezedTextColor !== null && freezedTextColor !== void 0 ? freezedTextColor : (_g = theme.colors) === null || _g === void 0 ? void 0 : _g.gray[600], handleCheckbox: handleCheckbox, selections: selection, isLoading: isTableLoading, onRowClick: onRowClick, isContent: isContent, isLink: isLink, isActionFreeze: isActionFreeze }))))));
132
133
  }
133
134
  exports.default = Table;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const KaTableExample: () => React.JSX.Element;
3
+ export default KaTableExample;
@@ -0,0 +1,259 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ var react_1 = __importStar(require("react"));
41
+ var KaTable_1 = __importDefault(require("../Components/KaTable/KaTable"));
42
+ var KaTable_2 = require("../Components/KaTable/KaTable");
43
+ var icons_1 = require("@chakra-ui/icons");
44
+ var react_2 = require("@chakra-ui/react");
45
+ var menuItems = [
46
+ { label: "Hide column", action: "hidecolumn" },
47
+ {
48
+ label: "Filter",
49
+ submenu: [
50
+ { label: "Filter by Date", action: "Filter by Date" },
51
+ { label: "Filter by Name", action: "Filter by Name" },
52
+ { label: "Filter by Status", action: "Filter by Status" },
53
+ ],
54
+ },
55
+ ];
56
+ var DataType = KaTable_2.TableEnums.DataType;
57
+ var dataArray = Array(5)
58
+ .fill(undefined)
59
+ .map(function (_, index) { return ({
60
+ column1: index % 2 === 0,
61
+ column2: "column:2 row:".concat(index + 1),
62
+ column3: "column:3 row:".concat(index + 1),
63
+ column4: "column:4 row:".concat(index + 1),
64
+ column5: "column:5 row:".concat(index + 1),
65
+ column6: index + 20,
66
+ column7: index + 25,
67
+ column8: index + 30,
68
+ column9: index + 35,
69
+ column10: index + 40,
70
+ column11: index + 45,
71
+ column12: index + 50,
72
+ column13: index + 55,
73
+ column14: index + 60,
74
+ column15: new Date(2022, 11, index),
75
+ id: index + 1,
76
+ }); });
77
+ var columns = [
78
+ {
79
+ key: "column1",
80
+ title: "Column 1",
81
+ dataType: DataType.Boolean,
82
+ width: 100,
83
+ columnFreeze: true,
84
+ customHeader: false,
85
+ },
86
+ {
87
+ key: "column2",
88
+ title: "Column 2",
89
+ dataType: DataType.String,
90
+ width: 250,
91
+ // visible: false,
92
+ },
93
+ {
94
+ key: "column3",
95
+ title: "Column 3",
96
+ dataType: DataType.Number,
97
+ width: 150,
98
+ filter: true,
99
+ menu: [
100
+ {
101
+ label: "Filter",
102
+ onClick: function () { return console.log("MENU Filter clicks"); },
103
+ submenu: [
104
+ {
105
+ label: "Filter by Date",
106
+ onClick: function () { return console.log("SUBMENU Date clicks"); },
107
+ },
108
+ { label: "Filter by Name" },
109
+ // { label: "Filter by Status", action: "Filter by Status" },
110
+ ],
111
+ },
112
+ ],
113
+ },
114
+ {
115
+ key: "column4",
116
+ title: "Column 4",
117
+ dataType: DataType.Number,
118
+ width: 150,
119
+ sortable: true,
120
+ },
121
+ {
122
+ key: "column5",
123
+ title: "Column 5",
124
+ dataType: DataType.Number,
125
+ width: 150,
126
+ },
127
+ {
128
+ key: "column6",
129
+ title: "Column 6",
130
+ dataType: DataType.Number,
131
+ width: 150,
132
+ },
133
+ {
134
+ key: "column7",
135
+ title: "Column 7",
136
+ dataType: DataType.Number,
137
+ width: 150,
138
+ sortable: true,
139
+ },
140
+ {
141
+ key: "column8",
142
+ title: "Column 8",
143
+ dataType: DataType.Number,
144
+ width: 150,
145
+ },
146
+ {
147
+ key: "column9",
148
+ title: "Column 9",
149
+ dataType: DataType.Number,
150
+ width: 150,
151
+ },
152
+ {
153
+ key: "column10",
154
+ title: "Column 10",
155
+ dataType: DataType.Number,
156
+ width: 150,
157
+ },
158
+ {
159
+ key: "column11",
160
+ title: "Column 11",
161
+ dataType: DataType.Number,
162
+ width: 150,
163
+ },
164
+ {
165
+ key: "column12",
166
+ title: "Column 12",
167
+ dataType: DataType.Number,
168
+ width: 150,
169
+ },
170
+ {
171
+ key: "column13",
172
+ title: "Column 13",
173
+ dataType: DataType.Number,
174
+ width: 150,
175
+ },
176
+ {
177
+ key: "column14",
178
+ title: "Column 14",
179
+ dataType: DataType.Number,
180
+ width: 150,
181
+ },
182
+ {
183
+ key: "column15",
184
+ title: "Column 15",
185
+ dataType: DataType.Date,
186
+ width: 150,
187
+ },
188
+ {
189
+ key: "editColumn",
190
+ width: 80,
191
+ customHeader: false,
192
+ },
193
+ ];
194
+ var KaTableExample = function () {
195
+ var _a = (0, react_1.useState)(false), actionButtons = _a[0], setActionButtons = _a[1];
196
+ var _b = (0, react_1.useState)([]), selectedRows = _b[0], setSelectedRows = _b[1];
197
+ // const kaTableFormat = (props: any) => {
198
+ // if (props.column.dataType === DataType.Date) {
199
+ // return (
200
+ // props.value &&
201
+ // props.value.toLocaleDateString("en", {
202
+ // month: "2-digit",
203
+ // day: "2-digit",
204
+ // year: "numeric",
205
+ // })
206
+ // );
207
+ // }
208
+ // };
209
+ var EditButton = function (_a) {
210
+ var dispatch = _a.dispatch, rowKeyValue = _a.rowKeyValue;
211
+ return (react_1.default.createElement("div", { className: "edit-cell-button" },
212
+ react_1.default.createElement(icons_1.EditIcon, null),
213
+ react_1.default.createElement(icons_1.DeleteIcon, null)));
214
+ };
215
+ // const handleSortChange = (newSortState: any, columnName: any) => {
216
+ // console.log(`Sort state for ${columnName} changed to:`, newSortState);
217
+ // };
218
+ // const handleMenuItemClick = (action: any, columnName: any) => {
219
+ // console.log(`Menu item clicked for ${columnName}:`, action);
220
+ // };
221
+ var handleCheckSelect = (0, react_1.useCallback)(function (selectedRows) {
222
+ console.log("CB", selectedRows);
223
+ if (selectedRows.length !== 0) {
224
+ setActionButtons(true);
225
+ }
226
+ else {
227
+ setActionButtons(false);
228
+ }
229
+ setSelectedRows(selectedRows);
230
+ }, []);
231
+ // console.log(actionButtons, "actionButtons");
232
+ var handleExample = function () {
233
+ setSelectedRows([]);
234
+ };
235
+ // console.log(selectedRows, "selectedRows");
236
+ return (react_1.default.createElement("div", null,
237
+ react_1.default.createElement(react_2.Button, { onClick: handleExample }, "click here"),
238
+ react_1.default.createElement(KaTable_1.default, { data: dataArray, columns: columns, checkSelect: true, onRowClick: function (rowKeyValue) {
239
+ console.log("Row clicked", rowKeyValue);
240
+ }, selected: selectedRows, onSelectionChange: function (selectedRows) {
241
+ handleCheckSelect(selectedRows);
242
+ }, columnVisibility: true,
243
+ // onSortChange={handleSortChange}
244
+ // onMenuItemClick={handleMenuItemClick}
245
+ // format={kaTableFormat}
246
+ childComponents: {
247
+ cellText: {
248
+ content: function (props) {
249
+ if (props.column.key === "editColumn") {
250
+ return react_1.default.createElement(EditButton, __assign({}, props));
251
+ }
252
+ },
253
+ },
254
+ }, loading: {
255
+ enabled: false,
256
+ text: "Loading data",
257
+ } })));
258
+ };
259
+ exports.default = KaTableExample;
@@ -59,10 +59,13 @@ var DatePick = function () {
59
59
  return (react_1.default.createElement("div", null,
60
60
  react_1.default.createElement("h2", null, "Single Date Picker"),
61
61
  react_1.default.createElement("h2", null, "Date "),
62
+ react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedDate, onChange: handleDateChange, dateFormat: "dd/MM/yyyy", pickerType: "date", width: "300px", error: true, errorMessage: "Invalid date", disableToday: true }),
62
63
  react_1.default.createElement("h2", null, "time "),
64
+ react_1.default.createElement(DatePicker_1.default, { selectedDate: selectedTime, onChange: handleTimeChange, dateFormat: "HH:mm", pickerType: "time", width: "300px", error: true, errorMessage: "Invalid date" }),
63
65
  react_1.default.createElement("h2", null, "datetime "),
64
66
  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" }),
65
67
  react_1.default.createElement("br", null),
66
- react_1.default.createElement("h2", null, "Date Range Picker")));
68
+ react_1.default.createElement("h2", null, "Date Range Picker"),
69
+ 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" })));
67
70
  };
68
71
  exports.default = DatePick;
@@ -6,10 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TableExample = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var Table_1 = __importDefault(require("../Components/Table/Table"));
9
+ var react_2 = require("@chakra-ui/react");
9
10
  var tableData = [
10
11
  {
11
12
  id: 1,
12
- name: "John Doe1",
13
+ name: (react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center", gap: "0.5rem" },
14
+ react_1.default.createElement("span", null, "\uD83D\uDE00"),
15
+ " John Doe1")),
13
16
  age: 30,
14
17
  gender: "Male",
15
18
  onLink: function (url) {
@@ -0,0 +1,35 @@
1
+ import "@fontsource/ubuntu-sans";
2
+ declare const fontOptions: {
3
+ fonts: {
4
+ body: string;
5
+ heading: string;
6
+ mono: string;
7
+ };
8
+ fontSizes: {
9
+ xs: string;
10
+ sm: string;
11
+ md: string;
12
+ lg: string;
13
+ xl: string;
14
+ "2xl": string;
15
+ "3xl": string;
16
+ "4xl": string;
17
+ "5xl": string;
18
+ "6xl": string;
19
+ "7xl": string;
20
+ "8xl": string;
21
+ "9xl": string;
22
+ };
23
+ fontWeights: {
24
+ hairline: number;
25
+ thin: number;
26
+ light: number;
27
+ normal: number;
28
+ medium: number;
29
+ semibold: number;
30
+ bold: number;
31
+ extrabold: number;
32
+ black: number;
33
+ };
34
+ };
35
+ export default fontOptions;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("@fontsource/ubuntu-sans");
4
+ var fontOptions = {
5
+ fonts: {
6
+ body: "Ubuntu Sans, serif",
7
+ heading: "Ubuntu Sans, serif",
8
+ mono: "Ubuntu Sans, monospace",
9
+ },
10
+ fontSizes: {
11
+ xs: "0.75rem",
12
+ sm: "0.875rem",
13
+ md: "1rem",
14
+ lg: "1.125rem",
15
+ xl: "1.25rem",
16
+ "2xl": "1.5rem",
17
+ "3xl": "1.875rem",
18
+ "4xl": "2.25rem",
19
+ "5xl": "3rem",
20
+ "6xl": "3.75rem",
21
+ "7xl": "4.5rem",
22
+ "8xl": "6rem",
23
+ "9xl": "8rem",
24
+ },
25
+ fontWeights: {
26
+ hairline: 100,
27
+ thin: 200,
28
+ light: 300,
29
+ normal: 400,
30
+ medium: 500,
31
+ semibold: 600,
32
+ bold: 700,
33
+ extrabold: 800,
34
+ black: 900,
35
+ },
36
+ };
37
+ exports.default = fontOptions;
@@ -1,4 +1,27 @@
1
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
+ };
2
25
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
26
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
27
  if (ar || !(i in from)) {
@@ -10,7 +33,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
10
33
  };
11
34
  Object.defineProperty(exports, "__esModule", { value: true });
12
35
  exports.globalSearchFilter = exports.TableCellCalculation = exports.pageSizeCalculation = exports.useDebounce = exports.debounce = exports.searchAndSortData = exports.calculateLeftOffset = exports.SortMultiColumnData = void 0;
13
- var react_1 = require("react");
36
+ var react_1 = __importStar(require("react"));
14
37
  var useCustomTheme_1 = require("../Theme/useCustomTheme");
15
38
  function SortMultiColumnData(data, sortConfig) {
16
39
  if (!sortConfig.length)
@@ -37,11 +60,62 @@ var calculateLeftOffset = function (columns, index) {
37
60
  return columns.slice(0, index).reduce(function (sum, width) { return sum + width; }, 0);
38
61
  };
39
62
  exports.calculateLeftOffset = calculateLeftOffset;
63
+ // export const searchAndSortData = (
64
+ // data: DataObject[],
65
+ // searchValues: Record<string, string>
66
+ // ) => {
67
+ // const filteredData = data.filter((item) => {
68
+ // return Object.keys(searchValues).every((key) => {
69
+ // const searchValue = searchValues[key].toLowerCase();
70
+ // return item[key].toString().toLowerCase().includes(searchValue);
71
+ // });
72
+ // });
73
+ // return filteredData.sort((a, b) => {
74
+ // let aMatchCount = 0;
75
+ // let bMatchCount = 0;
76
+ // Object.keys(searchValues).forEach((key) => {
77
+ // const searchValue = searchValues[key].toLowerCase();
78
+ // if (a[key] && a[key].toString().toLowerCase() === searchValue) {
79
+ // aMatchCount++;
80
+ // }
81
+ // if (b[key] && b[key].toString().toLowerCase() === searchValue) {
82
+ // bMatchCount++;
83
+ // }
84
+ // if (a[key] && a[key].toString().toLowerCase().includes(searchValue)) {
85
+ // aMatchCount += 0.5;
86
+ // }
87
+ // if (b[key] && b[key].toString().toLowerCase().includes(searchValue)) {
88
+ // bMatchCount += 0.5;
89
+ // }
90
+ // });
91
+ // return bMatchCount - aMatchCount;
92
+ // });
93
+ // };
94
+ var getStringValue = function (value) {
95
+ if (typeof value === "string" || typeof value === "number") {
96
+ return String(value);
97
+ }
98
+ // Handle React elements
99
+ if (react_1.default.isValidElement(value)) {
100
+ var element = value;
101
+ var children = element.props.children;
102
+ if (typeof children === "string")
103
+ return children;
104
+ if (Array.isArray(children)) {
105
+ return children
106
+ .map(function (child) { return (typeof child === "string" ? child : ""); })
107
+ .join(" ");
108
+ }
109
+ return "";
110
+ }
111
+ return "";
112
+ };
40
113
  var searchAndSortData = function (data, searchValues) {
41
114
  var filteredData = data.filter(function (item) {
42
115
  return Object.keys(searchValues).every(function (key) {
43
116
  var searchValue = searchValues[key].toLowerCase();
44
- return item[key].toString().toLowerCase().includes(searchValue);
117
+ var itemValue = getStringValue(item[key]).toLowerCase();
118
+ return itemValue.includes(searchValue);
45
119
  });
46
120
  });
47
121
  return filteredData.sort(function (a, b) {
@@ -49,18 +123,16 @@ var searchAndSortData = function (data, searchValues) {
49
123
  var bMatchCount = 0;
50
124
  Object.keys(searchValues).forEach(function (key) {
51
125
  var searchValue = searchValues[key].toLowerCase();
52
- if (a[key] && a[key].toString().toLowerCase() === searchValue) {
126
+ var aValue = getStringValue(a[key]).toLowerCase();
127
+ var bValue = getStringValue(b[key]).toLowerCase();
128
+ if (aValue === searchValue)
53
129
  aMatchCount++;
54
- }
55
- if (b[key] && b[key].toString().toLowerCase() === searchValue) {
130
+ if (bValue === searchValue)
56
131
  bMatchCount++;
57
- }
58
- if (a[key] && a[key].toString().toLowerCase().includes(searchValue)) {
132
+ if (aValue.includes(searchValue))
59
133
  aMatchCount += 0.5;
60
- }
61
- if (b[key] && b[key].toString().toLowerCase().includes(searchValue)) {
134
+ if (bValue.includes(searchValue))
62
135
  bMatchCount += 0.5;
63
- }
64
136
  });
65
137
  return bMatchCount - aMatchCount;
66
138
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixelize-design-library",
3
- "version": "2.1.66",
3
+ "version": "2.1.67",
4
4
  "private": false,
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",