tabler-react-2 0.1.125 → 0.1.127
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/input/dropdown.js +24 -43
- package/dist/table/index.js +95 -35
- package/docs/src/docs/changelog.mdx +8 -0
- package/package.json +1 -1
package/dist/input/dropdown.js
CHANGED
|
@@ -44,24 +44,18 @@ var DropdownInput = exports.DropdownInput = function DropdownInput(_ref) {
|
|
|
44
44
|
maxHeight = _ref$maxHeight === void 0 ? "300px" : _ref$maxHeight,
|
|
45
45
|
required = _ref.required,
|
|
46
46
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
47
|
-
// Allow aliasing: pass either `values` or `items`
|
|
48
47
|
var values = ivalues || items || [];
|
|
49
|
-
|
|
50
|
-
// Helper: extract text from label or dropdownText for filtering
|
|
51
48
|
var getLabelText = function getLabelText(val) {
|
|
52
49
|
var _val$dropdownText;
|
|
53
|
-
|
|
50
|
+
if (val.type === "header") return String(val.text);
|
|
54
51
|
var node = (_val$dropdownText = val.dropdownText) !== null && _val$dropdownText !== void 0 ? _val$dropdownText : val.label;
|
|
55
52
|
if (typeof node === "string" || typeof node === "number") {
|
|
56
53
|
return String(node);
|
|
57
54
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return typeof c === "string" ? c : "";
|
|
55
|
+
return _react.Children.toArray(node).filter(function (c) {
|
|
56
|
+
return typeof c === "string";
|
|
61
57
|
}).join("");
|
|
62
58
|
};
|
|
63
|
-
|
|
64
|
-
// loading state
|
|
65
59
|
if (loading) {
|
|
66
60
|
return /*#__PURE__*/_react["default"].createElement(_index.Util.Col, null, showLabel && label && /*#__PURE__*/_react["default"].createElement("label", {
|
|
67
61
|
className: "form-label"
|
|
@@ -70,8 +64,6 @@ var DropdownInput = exports.DropdownInput = function DropdownInput(_ref) {
|
|
|
70
64
|
disabled: true
|
|
71
65
|
}, prompt));
|
|
72
66
|
}
|
|
73
|
-
|
|
74
|
-
// disabled state
|
|
75
67
|
if (disabled) {
|
|
76
68
|
return /*#__PURE__*/_react["default"].createElement(_index.Util.Col, null, showLabel && label && /*#__PURE__*/_react["default"].createElement("label", {
|
|
77
69
|
className: "form-label"
|
|
@@ -79,13 +71,9 @@ var DropdownInput = exports.DropdownInput = function DropdownInput(_ref) {
|
|
|
79
71
|
disabled: true
|
|
80
72
|
}, disabledText || prompt));
|
|
81
73
|
}
|
|
82
|
-
|
|
83
|
-
// Helper: if value is an object, use its id; otherwise, assume the value itself is the id.
|
|
84
74
|
var getId = function getId(val) {
|
|
85
75
|
return _typeof(val) === "object" && val !== null ? val.id : val;
|
|
86
76
|
};
|
|
87
|
-
|
|
88
|
-
// State for selected value + search
|
|
89
77
|
var _useState = (0, _react.useState)(values.find(function (v) {
|
|
90
78
|
return v.id === getId(value);
|
|
91
79
|
}) || null),
|
|
@@ -100,8 +88,6 @@ var DropdownInput = exports.DropdownInput = function DropdownInput(_ref) {
|
|
|
100
88
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
101
89
|
filteredValues = _useState6[0],
|
|
102
90
|
setFilteredValues = _useState6[1];
|
|
103
|
-
|
|
104
|
-
// sync selectedValue when prop changes
|
|
105
91
|
(0, _react.useEffect)(function () {
|
|
106
92
|
var match = values.find(function (v) {
|
|
107
93
|
return v.id === getId(value);
|
|
@@ -112,25 +98,22 @@ var DropdownInput = exports.DropdownInput = function DropdownInput(_ref) {
|
|
|
112
98
|
var _str$toLowerCase;
|
|
113
99
|
return str === null || str === void 0 || (_str$toLowerCase = str.toLowerCase()) === null || _str$toLowerCase === void 0 ? void 0 : _str$toLowerCase.replace(/[\s_\-+]+/g, "");
|
|
114
100
|
};
|
|
115
|
-
|
|
116
|
-
// filter logic
|
|
117
101
|
(0, _react.useEffect)(function () {
|
|
118
102
|
setFilteredValues(values.filter(function (v) {
|
|
119
103
|
var _v$searchIndex;
|
|
120
|
-
// always keep headers/dividers
|
|
121
104
|
if (v.type === "divider" || v.type === "header") return true;
|
|
122
|
-
var
|
|
123
|
-
return
|
|
105
|
+
var text = getLabelText(v).toLowerCase();
|
|
106
|
+
return text.includes(searchQuery.toLowerCase()) || normalize((_v$searchIndex = v.searchIndex) !== null && _v$searchIndex !== void 0 ? _v$searchIndex : "").includes(normalize(searchQuery));
|
|
124
107
|
}));
|
|
125
108
|
}, [searchQuery, values]);
|
|
126
109
|
var handleSelection = function handleSelection(val) {
|
|
127
110
|
setSelectedValue(val);
|
|
128
|
-
onChange
|
|
111
|
+
onChange(val);
|
|
129
112
|
};
|
|
130
113
|
var dropdownContent = /*#__PURE__*/_react["default"].createElement("div", _extends({
|
|
131
114
|
className: "dropdown"
|
|
132
115
|
}, props), /*#__PURE__*/_react["default"].createElement("a", _extends({
|
|
133
|
-
href: "
|
|
116
|
+
href: "javascript:void(0)",
|
|
134
117
|
className: "btn dropdown-toggle ".concat(props.disabled ? "disabled" : "", " ").concat(color ? "btn-".concat(outline ? "outline-" : "").concat(color) : ""),
|
|
135
118
|
"data-bs-toggle": "dropdown"
|
|
136
119
|
}, aprops), selectedValue ? selectedValue.label : prompt), /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -162,18 +145,21 @@ var DropdownInput = exports.DropdownInput = function DropdownInput(_ref) {
|
|
|
162
145
|
className: "dropdown-header"
|
|
163
146
|
}, v.text);
|
|
164
147
|
}
|
|
165
|
-
|
|
166
|
-
var
|
|
148
|
+
var isActive = (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.id) === v.id;
|
|
149
|
+
var isItemDisabled = v.disabled === true;
|
|
167
150
|
return /*#__PURE__*/_react["default"].createElement("a", {
|
|
168
151
|
key: (_v$id = v.id) !== null && _v$id !== void 0 ? _v$id : i,
|
|
169
|
-
className: "dropdown-item".concat(isActive ? " active" : ""),
|
|
152
|
+
className: "dropdown-item".concat(isActive ? " active" : "").concat(isItemDisabled ? " disabled" : ""),
|
|
170
153
|
onClick: function onClick() {
|
|
171
|
-
return handleSelection(v);
|
|
154
|
+
return !isItemDisabled && handleSelection(v);
|
|
172
155
|
},
|
|
173
156
|
style: {
|
|
174
|
-
cursor: "pointer"
|
|
175
|
-
}
|
|
176
|
-
|
|
157
|
+
cursor: isItemDisabled ? "not-allowed" : "pointer"
|
|
158
|
+
},
|
|
159
|
+
href: v.href || "javascript:void(0)"
|
|
160
|
+
}, v.icon && /*#__PURE__*/_react["default"].createElement("span", {
|
|
161
|
+
className: "dropdown-item-icon"
|
|
162
|
+
}, v.icon), (_v$dropdownText = v.dropdownText) !== null && _v$dropdownText !== void 0 ? _v$dropdownText : v.label);
|
|
177
163
|
}), filteredValues.length === 0 && /*#__PURE__*/_react["default"].createElement("div", {
|
|
178
164
|
className: "dropdown-item text-muted"
|
|
179
165
|
}, "No results found"))));
|
|
@@ -183,26 +169,21 @@ var DropdownInput = exports.DropdownInput = function DropdownInput(_ref) {
|
|
|
183
169
|
};
|
|
184
170
|
DropdownInput.propTypes = {
|
|
185
171
|
prompt: _propTypes["default"].string.isRequired,
|
|
186
|
-
|
|
187
|
-
values: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([
|
|
188
|
-
// divider
|
|
189
|
-
_propTypes["default"].shape({
|
|
172
|
+
values: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
190
173
|
type: _propTypes["default"].oneOf(["divider"]).isRequired
|
|
191
|
-
}),
|
|
192
|
-
// header
|
|
193
|
-
_propTypes["default"].shape({
|
|
174
|
+
}), _propTypes["default"].shape({
|
|
194
175
|
type: _propTypes["default"].oneOf(["header"]).isRequired,
|
|
195
176
|
text: _propTypes["default"].string.isRequired
|
|
196
|
-
}),
|
|
197
|
-
// normal selectable item
|
|
198
|
-
_propTypes["default"].shape({
|
|
177
|
+
}), _propTypes["default"].shape({
|
|
199
178
|
id: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]).isRequired,
|
|
200
179
|
label: _propTypes["default"].string.isRequired,
|
|
201
180
|
dropdownText: _propTypes["default"].string,
|
|
202
|
-
searchIndex: _propTypes["default"].string
|
|
181
|
+
searchIndex: _propTypes["default"].string,
|
|
182
|
+
disabled: _propTypes["default"].bool,
|
|
183
|
+
href: _propTypes["default"].string,
|
|
184
|
+
icon: _propTypes["default"].node
|
|
203
185
|
})])),
|
|
204
186
|
items: _propTypes["default"].array,
|
|
205
|
-
// alias for values
|
|
206
187
|
value: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
207
188
|
id: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]).isRequired
|
|
208
189
|
}), _propTypes["default"].string, _propTypes["default"].number]),
|
package/dist/table/index.js
CHANGED
|
@@ -4,9 +4,10 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.Table = void 0;
|
|
7
|
+
exports.Table = exports.IconSortDescending = exports.IconSortAscending = exports.IconArrowsSort = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _index = require("../index");
|
|
10
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
11
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
12
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -20,7 +21,7 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
20
21
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
21
22
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
22
23
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
23
|
-
var IconSortDescending = function IconSortDescending(_ref) {
|
|
24
|
+
var IconSortDescending = exports.IconSortDescending = function IconSortDescending(_ref) {
|
|
24
25
|
var size = _ref.size;
|
|
25
26
|
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
26
27
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -49,7 +50,7 @@ var IconSortDescending = function IconSortDescending(_ref) {
|
|
|
49
50
|
d: "M18 6l0 12"
|
|
50
51
|
}));
|
|
51
52
|
};
|
|
52
|
-
var IconSortAscending = function IconSortAscending(_ref2) {
|
|
53
|
+
var IconSortAscending = exports.IconSortAscending = function IconSortAscending(_ref2) {
|
|
53
54
|
var size = _ref2.size;
|
|
54
55
|
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
55
56
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -78,7 +79,7 @@ var IconSortAscending = function IconSortAscending(_ref2) {
|
|
|
78
79
|
d: "M18 6l0 12"
|
|
79
80
|
}));
|
|
80
81
|
};
|
|
81
|
-
var IconArrowsSort = function IconArrowsSort(_ref3) {
|
|
82
|
+
var IconArrowsSort = exports.IconArrowsSort = function IconArrowsSort(_ref3) {
|
|
82
83
|
var size = _ref3.size;
|
|
83
84
|
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
84
85
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -109,9 +110,16 @@ var getValueByAccessor = function getValueByAccessor(object, accessor) {
|
|
|
109
110
|
var Table = exports.Table = function Table(_ref4) {
|
|
110
111
|
var columns = _ref4.columns,
|
|
111
112
|
data = _ref4.data,
|
|
112
|
-
nowrap = _ref4.nowrap,
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
_ref4$nowrap = _ref4.nowrap,
|
|
114
|
+
nowrap = _ref4$nowrap === void 0 ? false : _ref4$nowrap,
|
|
115
|
+
_ref4$stickyHeader = _ref4.stickyHeader,
|
|
116
|
+
stickyHeader = _ref4$stickyHeader === void 0 ? false : _ref4$stickyHeader,
|
|
117
|
+
_ref4$className = _ref4.className,
|
|
118
|
+
className = _ref4$className === void 0 ? "" : _ref4$className,
|
|
119
|
+
_ref4$showPagination = _ref4.showPagination,
|
|
120
|
+
showPagination = _ref4$showPagination === void 0 ? false : _ref4$showPagination,
|
|
121
|
+
_ref4$defaultRowsPerP = _ref4.defaultRowsPerPage,
|
|
122
|
+
defaultRowsPerPage = _ref4$defaultRowsPerP === void 0 ? 10 : _ref4$defaultRowsPerP;
|
|
115
123
|
var _useState = (0, _react.useState)({
|
|
116
124
|
key: null,
|
|
117
125
|
direction: "asc"
|
|
@@ -119,6 +127,14 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
119
127
|
_useState2 = _slicedToArray(_useState, 2),
|
|
120
128
|
sortConfig = _useState2[0],
|
|
121
129
|
setSortConfig = _useState2[1];
|
|
130
|
+
var _useState3 = (0, _react.useState)(1),
|
|
131
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
132
|
+
currentPage = _useState4[0],
|
|
133
|
+
setCurrentPage = _useState4[1];
|
|
134
|
+
var _useState5 = (0, _react.useState)(defaultRowsPerPage),
|
|
135
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
136
|
+
pageSize = _useState6[0],
|
|
137
|
+
setPageSize = _useState6[1];
|
|
122
138
|
var defaultSortFn = function defaultSortFn(a, b) {
|
|
123
139
|
if (a === b) return 0;
|
|
124
140
|
return a > b ? 1 : -1;
|
|
@@ -132,24 +148,32 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
132
148
|
key: accessor,
|
|
133
149
|
direction: direction
|
|
134
150
|
});
|
|
151
|
+
setCurrentPage(1);
|
|
135
152
|
};
|
|
136
|
-
var sortedData = _react
|
|
137
|
-
if (sortConfig.key)
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
return data;
|
|
153
|
+
var sortedData = (0, _react.useMemo)(function () {
|
|
154
|
+
if (!sortConfig.key) return data;
|
|
155
|
+
var key = sortConfig.key,
|
|
156
|
+
direction = sortConfig.direction;
|
|
157
|
+
var sortColumn = columns.find(function (col) {
|
|
158
|
+
return col.accessor === key;
|
|
159
|
+
});
|
|
160
|
+
var sortFunction = (sortColumn === null || sortColumn === void 0 ? void 0 : sortColumn.sortFn) || defaultSortFn;
|
|
161
|
+
var order = direction === "asc" ? 1 : -1;
|
|
162
|
+
return _toConsumableArray(data).sort(function (a, b) {
|
|
163
|
+
var aValue = getValueByAccessor(a, key);
|
|
164
|
+
var bValue = getValueByAccessor(b, key);
|
|
165
|
+
return sortFunction(aValue, bValue) * order;
|
|
166
|
+
});
|
|
152
167
|
}, [data, sortConfig, columns]);
|
|
168
|
+
var pageSizeOptions = [10, 25, 50, 100];
|
|
169
|
+
var totalPages = (0, _react.useMemo)(function () {
|
|
170
|
+
return Math.max(1, Math.ceil(sortedData.length / pageSize));
|
|
171
|
+
}, [sortedData, pageSize]);
|
|
172
|
+
var paginatedData = (0, _react.useMemo)(function () {
|
|
173
|
+
if (!showPagination) return sortedData;
|
|
174
|
+
var start = (currentPage - 1) * pageSize;
|
|
175
|
+
return sortedData.slice(start, start + pageSize);
|
|
176
|
+
}, [sortedData, currentPage, pageSize, showPagination]);
|
|
153
177
|
var getSortIcon = function getSortIcon(column) {
|
|
154
178
|
if (sortConfig.key === column.accessor) {
|
|
155
179
|
return sortConfig.direction === "asc" ? /*#__PURE__*/_react["default"].createElement(IconSortAscending, {
|
|
@@ -166,26 +190,26 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
166
190
|
className: "table-responsive ".concat(nowrap ? "table-nowrap" : "", " ").concat(className)
|
|
167
191
|
}, /*#__PURE__*/_react["default"].createElement("table", {
|
|
168
192
|
className: "table table-vcenter ".concat(stickyHeader ? "sticky-top" : "")
|
|
169
|
-
}, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column,
|
|
193
|
+
}, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column, idx) {
|
|
170
194
|
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
171
|
-
key:
|
|
195
|
+
key: idx,
|
|
172
196
|
className: "".concat(column.className || "", " ").concat(column.sortable ? "sortable" : ""),
|
|
173
197
|
onClick: column.sortable ? function () {
|
|
174
|
-
return handleSort(column.accessor, column
|
|
198
|
+
return handleSort(column.accessor, column.sortFn);
|
|
175
199
|
} : undefined,
|
|
176
200
|
style: {
|
|
177
201
|
cursor: column.sortable ? "pointer" : "default"
|
|
178
202
|
}
|
|
179
203
|
}, column.icon && /*#__PURE__*/_react["default"].createElement("span", {
|
|
180
204
|
style: {
|
|
181
|
-
marginRight:
|
|
205
|
+
marginRight: 8
|
|
182
206
|
}
|
|
183
207
|
}, column.icon), /*#__PURE__*/_react["default"].createElement("span", {
|
|
184
208
|
style: {
|
|
185
|
-
marginRight:
|
|
209
|
+
marginRight: 8
|
|
186
210
|
}
|
|
187
211
|
}, column.label), column.sortable && getSortIcon(column));
|
|
188
|
-
}))), /*#__PURE__*/_react["default"].createElement("tbody", null,
|
|
212
|
+
}))), /*#__PURE__*/_react["default"].createElement("tbody", null, paginatedData.map(function (row, rowIndex) {
|
|
189
213
|
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
190
214
|
key: rowIndex
|
|
191
215
|
}, columns.map(function (column, colIndex) {
|
|
@@ -194,21 +218,57 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
194
218
|
className: column.className || ""
|
|
195
219
|
}, column.render ? column.render(getValueByAccessor(row, column.accessor), row) : getValueByAccessor(row, column.accessor));
|
|
196
220
|
}));
|
|
197
|
-
})))
|
|
221
|
+
}))), showPagination && /*#__PURE__*/_react["default"].createElement("div", {
|
|
222
|
+
className: "d-flex justify-content-between align-items-center mt-2"
|
|
223
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_index.Button, {
|
|
224
|
+
onClick: function onClick() {
|
|
225
|
+
return setCurrentPage(function (p) {
|
|
226
|
+
return Math.max(p - 1, 1);
|
|
227
|
+
});
|
|
228
|
+
},
|
|
229
|
+
disabled: currentPage === 1
|
|
230
|
+
}, "Previous"), /*#__PURE__*/_react["default"].createElement(_index.Button, {
|
|
231
|
+
onClick: function onClick() {
|
|
232
|
+
return setCurrentPage(function (p) {
|
|
233
|
+
return Math.min(p + 1, totalPages);
|
|
234
|
+
});
|
|
235
|
+
},
|
|
236
|
+
disabled: currentPage === totalPages,
|
|
237
|
+
style: {
|
|
238
|
+
marginLeft: 8
|
|
239
|
+
}
|
|
240
|
+
}, "Next"), /*#__PURE__*/_react["default"].createElement("span", {
|
|
241
|
+
style: {
|
|
242
|
+
marginLeft: 16
|
|
243
|
+
}
|
|
244
|
+
}, "Page ", currentPage, " of ", totalPages)), /*#__PURE__*/_react["default"].createElement(_index.DropdownInput, {
|
|
245
|
+
prompt: "Rows per page",
|
|
246
|
+
items: pageSizeOptions.map(function (size) {
|
|
247
|
+
return {
|
|
248
|
+
id: size,
|
|
249
|
+
label: size
|
|
250
|
+
};
|
|
251
|
+
}),
|
|
252
|
+
onChange: function onChange(selected) {
|
|
253
|
+
setPageSize(selected.id);
|
|
254
|
+
setCurrentPage(1);
|
|
255
|
+
}
|
|
256
|
+
})));
|
|
198
257
|
};
|
|
199
258
|
Table.propTypes = {
|
|
200
259
|
columns: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
201
260
|
label: _propTypes["default"].string.isRequired,
|
|
202
261
|
accessor: _propTypes["default"].string.isRequired,
|
|
203
262
|
className: _propTypes["default"].string,
|
|
204
|
-
// Optional: For adding specific CSS classes
|
|
205
263
|
render: _propTypes["default"].func,
|
|
206
|
-
// Optional: Custom render function for the cell content
|
|
207
264
|
sortable: _propTypes["default"].bool,
|
|
208
|
-
|
|
209
|
-
|
|
265
|
+
sortFn: _propTypes["default"].func,
|
|
266
|
+
icon: _propTypes["default"].node
|
|
210
267
|
})).isRequired,
|
|
211
268
|
data: _propTypes["default"].arrayOf(_propTypes["default"].object).isRequired,
|
|
212
269
|
nowrap: _propTypes["default"].bool,
|
|
213
|
-
stickyHeader: _propTypes["default"].bool
|
|
270
|
+
stickyHeader: _propTypes["default"].bool,
|
|
271
|
+
className: _propTypes["default"].string,
|
|
272
|
+
showPagination: _propTypes["default"].bool,
|
|
273
|
+
defaultRowsPerPage: _propTypes["default"].number
|
|
214
274
|
};
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
title: Changelog
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
# 0.1.126
|
|
6
|
+
|
|
7
|
+
- Added support for `disabled` in the `DropdownInput` component.
|
|
8
|
+
|
|
9
|
+
# 0.1.124
|
|
10
|
+
|
|
11
|
+
- Added support for `seperator` and `header` in the `DropdownInput` component.
|
|
12
|
+
|
|
5
13
|
# 0.1.123
|
|
6
14
|
|
|
7
15
|
- Added `icon` prop to the `Table` component.
|