tabler-react-2 0.1.156 → 0.1.157
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/index.js +17 -5
- package/dist/input/checkbox.js +13 -5
- package/dist/input/input.js +36 -7
- package/dist/steps/index.js +10 -4
- package/dist/table/index.js +143 -35
- package/dist/table/useTable.js +192 -0
- package/dist/table-v2/index.js +359 -0
- package/docs/gatsby-node.js +36 -0
- package/docs/package.json +1 -1
- package/docs/src/components/LoadableTabler.jsx +3 -0
- package/docs/src/components/Tabler.jsx +128 -51
- package/docs/src/config/sidebar.yml +2 -0
- package/docs/src/data/congressPeople.json +88 -0
- package/docs/src/docs/changelog.mdx +28 -0
- package/docs/src/docs/components/table-v2.mdx +367 -0
- package/docs/src/docs/components/tables.mdx +228 -0
- package/package.json +6 -2
package/dist/index.js
CHANGED
|
@@ -156,7 +156,7 @@ Object.keys(_index15).forEach(function (key) {
|
|
|
156
156
|
}
|
|
157
157
|
});
|
|
158
158
|
});
|
|
159
|
-
var _index16 = require("./
|
|
159
|
+
var _index16 = require("./table-v2/index");
|
|
160
160
|
Object.keys(_index16).forEach(function (key) {
|
|
161
161
|
if (key === "default" || key === "__esModule") return;
|
|
162
162
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -168,7 +168,7 @@ Object.keys(_index16).forEach(function (key) {
|
|
|
168
168
|
}
|
|
169
169
|
});
|
|
170
170
|
});
|
|
171
|
-
var _index17 = require("./
|
|
171
|
+
var _index17 = require("./timeline/index");
|
|
172
172
|
Object.keys(_index17).forEach(function (key) {
|
|
173
173
|
if (key === "default" || key === "__esModule") return;
|
|
174
174
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -180,7 +180,7 @@ Object.keys(_index17).forEach(function (key) {
|
|
|
180
180
|
}
|
|
181
181
|
});
|
|
182
182
|
});
|
|
183
|
-
var _index18 = require("./
|
|
183
|
+
var _index18 = require("./input/index");
|
|
184
184
|
Object.keys(_index18).forEach(function (key) {
|
|
185
185
|
if (key === "default" || key === "__esModule") return;
|
|
186
186
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -192,7 +192,7 @@ Object.keys(_index18).forEach(function (key) {
|
|
|
192
192
|
}
|
|
193
193
|
});
|
|
194
194
|
});
|
|
195
|
-
var _index19 = require("./
|
|
195
|
+
var _index19 = require("./navbar/index");
|
|
196
196
|
Object.keys(_index19).forEach(function (key) {
|
|
197
197
|
if (key === "default" || key === "__esModule") return;
|
|
198
198
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -204,7 +204,7 @@ Object.keys(_index19).forEach(function (key) {
|
|
|
204
204
|
}
|
|
205
205
|
});
|
|
206
206
|
});
|
|
207
|
-
var _index20 = require("./
|
|
207
|
+
var _index20 = require("./segmentedControl/index");
|
|
208
208
|
Object.keys(_index20).forEach(function (key) {
|
|
209
209
|
if (key === "default" || key === "__esModule") return;
|
|
210
210
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
@@ -216,5 +216,17 @@ Object.keys(_index20).forEach(function (key) {
|
|
|
216
216
|
}
|
|
217
217
|
});
|
|
218
218
|
});
|
|
219
|
+
var _index21 = require("./offcanvas/index");
|
|
220
|
+
Object.keys(_index21).forEach(function (key) {
|
|
221
|
+
if (key === "default" || key === "__esModule") return;
|
|
222
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
223
|
+
if (key in exports && exports[key] === _index21[key]) return;
|
|
224
|
+
Object.defineProperty(exports, key, {
|
|
225
|
+
enumerable: true,
|
|
226
|
+
get: function get() {
|
|
227
|
+
return _index21[key];
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
});
|
|
219
231
|
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); }
|
|
220
232
|
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; }
|
package/dist/input/checkbox.js
CHANGED
|
@@ -6,21 +6,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.Checkbox = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _excluded = ["value", "onChange", "label", "required", "className"];
|
|
9
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
13
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
14
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
10
15
|
var Checkbox = exports.Checkbox = function Checkbox(_ref) {
|
|
11
|
-
var value = _ref.value,
|
|
16
|
+
var _ref$value = _ref.value,
|
|
17
|
+
value = _ref$value === void 0 ? false : _ref$value,
|
|
12
18
|
_onChange = _ref.onChange,
|
|
13
19
|
label = _ref.label,
|
|
14
20
|
_ref$required = _ref.required,
|
|
15
|
-
required = _ref$required === void 0 ? false : _ref$required
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
required = _ref$required === void 0 ? false : _ref$required,
|
|
22
|
+
className = _ref.className,
|
|
23
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
24
|
+
return /*#__PURE__*/_react["default"].createElement("label", _extends({
|
|
25
|
+
className: (0, _classnames["default"])("form-check", className),
|
|
18
26
|
style: {
|
|
19
27
|
display: "flex",
|
|
20
28
|
alignItems: "center",
|
|
21
29
|
gap: 8
|
|
22
30
|
}
|
|
23
|
-
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
31
|
+
}, props), /*#__PURE__*/_react["default"].createElement("input", {
|
|
24
32
|
className: "form-check-input",
|
|
25
33
|
type: "checkbox",
|
|
26
34
|
checked: value,
|
package/dist/input/input.js
CHANGED
|
@@ -9,7 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
10
|
var _spinner = require("../spinner");
|
|
11
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
-
var _excluded = ["type", "label", "placeholder", "value", "onChange", "onRawChange", "onInput", "icon", "iconPos", "loader", "separated", "prependedText", "appendedText", "appendedLinkText", "appendedLinkHref", "appendedLinkOnClick", "datalistItems", "variant", "size", "noMargin", "inputProps", "helpText", "helpTextPlacement", "helpPrompt", "required", "hint", "labelDescription", "autocomplete", "useTextarea", "invalid"];
|
|
12
|
+
var _excluded = ["type", "label", "placeholder", "value", "onChange", "onRawChange", "onInput", "onKeyDown", "icon", "iconPos", "loader", "separated", "prependedText", "appendedText", "appendedLinkText", "appendedLinkHref", "appendedLinkOnClick", "datalistItems", "variant", "size", "noMargin", "inputProps", "helpText", "helpTextPlacement", "helpPrompt", "required", "hint", "labelDescription", "autocomplete", "useTextarea", "invalid", "invalidText", "autoFocus"];
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
14
14
|
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); }
|
|
15
15
|
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; }
|
|
@@ -32,6 +32,7 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
32
32
|
onChange = _ref.onChange,
|
|
33
33
|
onRawChange = _ref.onRawChange,
|
|
34
34
|
onInput = _ref.onInput,
|
|
35
|
+
_onKeyDown = _ref.onKeyDown,
|
|
35
36
|
icon = _ref.icon,
|
|
36
37
|
_ref$iconPos = _ref.iconPos,
|
|
37
38
|
iconPos = _ref$iconPos === void 0 ? "leading" : _ref$iconPos,
|
|
@@ -59,6 +60,8 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
59
60
|
_ref$useTextarea = _ref.useTextarea,
|
|
60
61
|
useTextarea = _ref$useTextarea === void 0 ? false : _ref$useTextarea,
|
|
61
62
|
invalid = _ref.invalid,
|
|
63
|
+
invalidText = _ref.invalidText,
|
|
64
|
+
autoFocus = _ref.autoFocus,
|
|
62
65
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
63
66
|
// State for managing uncontrolled input value
|
|
64
67
|
var _useState = (0, _react.useState)(controlledValue),
|
|
@@ -88,6 +91,12 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
88
91
|
onRawChange(e);
|
|
89
92
|
}
|
|
90
93
|
};
|
|
94
|
+
var inputRef = (0, _react.useRef)(null);
|
|
95
|
+
(0, _react.useEffect)(function () {
|
|
96
|
+
if (autoFocus && inputRef.current) {
|
|
97
|
+
inputRef.current.focus();
|
|
98
|
+
}
|
|
99
|
+
}, [autoFocus]);
|
|
91
100
|
var renderInput = function renderInput() {
|
|
92
101
|
return useTextarea ? /*#__PURE__*/_react["default"].createElement("textarea", _extends({
|
|
93
102
|
className: (0, _classnames["default"])("form-control", variant && "border-".concat(variant), variant && "text-".concat(variant), variant && "bg-".concat(variant, "-lt"), size && "form-control-".concat(size), invalid && "is-invalid"),
|
|
@@ -96,7 +105,8 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
96
105
|
,
|
|
97
106
|
onChange: handleInputChange,
|
|
98
107
|
list: datalistItems.length > 0 ? "datalist-options" : undefined,
|
|
99
|
-
autoComplete: autocomplete
|
|
108
|
+
autoComplete: autocomplete,
|
|
109
|
+
ref: inputRef
|
|
100
110
|
}, inputProps)) : /*#__PURE__*/_react["default"].createElement("input", _extends({
|
|
101
111
|
type: type,
|
|
102
112
|
className: (0, _classnames["default"])("form-control", variant && "border-".concat(variant), variant && "text-".concat(variant), variant && "bg-".concat(variant, "-lt"), size && "form-control-".concat(size), invalid && "is-invalid", props.inputClassName),
|
|
@@ -104,8 +114,12 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
104
114
|
value: value !== null && value !== void 0 ? value : "" // Always ensure value is a string
|
|
105
115
|
,
|
|
106
116
|
onChange: handleInputChange,
|
|
117
|
+
onKeyDown: function onKeyDown(e) {
|
|
118
|
+
return _onKeyDown === null || _onKeyDown === void 0 ? void 0 : _onKeyDown(e);
|
|
119
|
+
},
|
|
107
120
|
list: datalistItems.length > 0 ? "datalist-options" : undefined,
|
|
108
|
-
autoComplete: autocomplete
|
|
121
|
+
autoComplete: autocomplete,
|
|
122
|
+
ref: inputRef
|
|
109
123
|
}, inputProps));
|
|
110
124
|
};
|
|
111
125
|
return /*#__PURE__*/_react["default"].createElement("div", _extends({
|
|
@@ -148,13 +162,13 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
148
162
|
}, /*#__PURE__*/_react["default"].createElement(_spinner.Spinner, {
|
|
149
163
|
size: "sm"
|
|
150
164
|
}))) : prependedText || appendedText ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
151
|
-
className: "input-group input-group-flat ".concat(
|
|
165
|
+
className: "input-group input-group-flat ".concat(invalid && "is-invalid")
|
|
152
166
|
}, prependedText && /*#__PURE__*/_react["default"].createElement("span", {
|
|
153
167
|
className: "input-group-text"
|
|
154
168
|
}, prependedText), renderInput(), appendedText && /*#__PURE__*/_react["default"].createElement("span", {
|
|
155
169
|
className: "input-group-text"
|
|
156
170
|
}, appendedText)) : appendedLinkText ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
157
|
-
className: "input-group input-group-flat"
|
|
171
|
+
className: "input-group input-group-flat ".concat(invalid && "is-invalid")
|
|
158
172
|
}, renderInput(), /*#__PURE__*/_react["default"].createElement("span", {
|
|
159
173
|
className: "input-group-text"
|
|
160
174
|
}, /*#__PURE__*/_react["default"].createElement("a", _extends({}, appendedLinkHref ? {
|
|
@@ -174,7 +188,9 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
174
188
|
}, item);
|
|
175
189
|
}))), hint && /*#__PURE__*/_react["default"].createElement("div", {
|
|
176
190
|
className: "form-hint"
|
|
177
|
-
}, hint)
|
|
191
|
+
}, hint), invalidText && invalid && /*#__PURE__*/_react["default"].createElement("div", {
|
|
192
|
+
className: "invalid-feedback"
|
|
193
|
+
}, invalidText));
|
|
178
194
|
};
|
|
179
195
|
Input.propTypes = {
|
|
180
196
|
type: _propTypes["default"].string,
|
|
@@ -192,5 +208,18 @@ Input.propTypes = {
|
|
|
192
208
|
appendedLinkText: _propTypes["default"].string,
|
|
193
209
|
appendedLinkHref: _propTypes["default"].string,
|
|
194
210
|
appendedLinkOnClick: _propTypes["default"].func,
|
|
195
|
-
datalistItems: _propTypes["default"].arrayOf(_propTypes["default"].string)
|
|
211
|
+
datalistItems: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
212
|
+
autoFocus: _propTypes["default"].bool,
|
|
213
|
+
onKeyDown: _propTypes["default"].func,
|
|
214
|
+
inputProps: _propTypes["default"].object,
|
|
215
|
+
helpText: _propTypes["default"].string,
|
|
216
|
+
helpTextPlacement: _propTypes["default"].string,
|
|
217
|
+
helpPrompt: _propTypes["default"].string,
|
|
218
|
+
required: _propTypes["default"].bool,
|
|
219
|
+
hint: _propTypes["default"].string,
|
|
220
|
+
labelDescription: _propTypes["default"].string,
|
|
221
|
+
autocomplete: _propTypes["default"].string,
|
|
222
|
+
useTextarea: _propTypes["default"].bool,
|
|
223
|
+
invalid: _propTypes["default"].bool,
|
|
224
|
+
invalidText: _propTypes["default"].string
|
|
196
225
|
};
|
package/dist/steps/index.js
CHANGED
|
@@ -6,8 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.Steps = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _excluded = ["steps", "color", "variant", "numbered", "hideText", "vertical", "className"];
|
|
9
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
10
12
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
13
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
14
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
11
15
|
var Steps = exports.Steps = function Steps(_ref) {
|
|
12
16
|
var steps = _ref.steps,
|
|
13
17
|
passedColor = _ref.color,
|
|
@@ -17,12 +21,14 @@ var Steps = exports.Steps = function Steps(_ref) {
|
|
|
17
21
|
_ref$hideText = _ref.hideText,
|
|
18
22
|
hideText = _ref$hideText === void 0 ? false : _ref$hideText,
|
|
19
23
|
_ref$vertical = _ref.vertical,
|
|
20
|
-
vertical = _ref$vertical === void 0 ? false : _ref$vertical
|
|
24
|
+
vertical = _ref$vertical === void 0 ? false : _ref$vertical,
|
|
25
|
+
className = _ref.className,
|
|
26
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
21
27
|
var color = passedColor || passedVariant;
|
|
22
28
|
var stepClass = "steps ".concat(color ? "steps-".concat(color) : "", " ").concat(numbered ? "steps-counter" : "", " ").concat(vertical ? "steps-vertical" : "");
|
|
23
|
-
return /*#__PURE__*/_react["default"].createElement("ul", {
|
|
24
|
-
className: stepClass
|
|
25
|
-
}, steps.map(function (step, index) {
|
|
29
|
+
return /*#__PURE__*/_react["default"].createElement("ul", _extends({
|
|
30
|
+
className: (0, _classnames["default"])(stepClass, className)
|
|
31
|
+
}, props), steps.map(function (step, index) {
|
|
26
32
|
var stepClasses = "step-item ".concat(step.active ? "active" : "");
|
|
27
33
|
var stepContent = hideText ? "" : step.text;
|
|
28
34
|
var tooltip = step.tooltip ? {
|
package/dist/table/index.js
CHANGED
|
@@ -5,9 +5,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.Table = exports.IconSortDescending = exports.IconSortAscending = exports.IconArrowsSort = void 0;
|
|
8
|
+
Object.defineProperty(exports, "useTable", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _useTable.useTable;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
8
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
15
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
16
|
var _index = require("../index");
|
|
17
|
+
var _useTable = require("./useTable");
|
|
11
18
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
19
|
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); }
|
|
13
20
|
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; }
|
|
@@ -120,6 +127,21 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
120
127
|
showPagination = _ref4$showPagination === void 0 ? false : _ref4$showPagination,
|
|
121
128
|
_ref4$defaultRowsPerP = _ref4.defaultRowsPerPage,
|
|
122
129
|
defaultRowsPerPage = _ref4$defaultRowsPerP === void 0 ? 10 : _ref4$defaultRowsPerP,
|
|
130
|
+
page = _ref4.page,
|
|
131
|
+
rowsPerPage = _ref4.rowsPerPage,
|
|
132
|
+
size = _ref4.size,
|
|
133
|
+
totalRows = _ref4.totalRows,
|
|
134
|
+
onPageChange = _ref4.onPageChange,
|
|
135
|
+
onRowsPerPageChange = _ref4.onRowsPerPageChange,
|
|
136
|
+
onSetPage = _ref4.onSetPage,
|
|
137
|
+
onSetSize = _ref4.onSetSize,
|
|
138
|
+
orderBy = _ref4.orderBy,
|
|
139
|
+
order = _ref4.order,
|
|
140
|
+
onSetOrder = _ref4.onSetOrder,
|
|
141
|
+
_ref4$loading = _ref4.loading,
|
|
142
|
+
loading = _ref4$loading === void 0 ? false : _ref4$loading,
|
|
143
|
+
_ref4$pageSizeOptions = _ref4.pageSizeOptions,
|
|
144
|
+
pageSizeOptions = _ref4$pageSizeOptions === void 0 ? [10, 25, 50, 100] : _ref4$pageSizeOptions,
|
|
123
145
|
_ref4$tableClassName = _ref4.tableClassName,
|
|
124
146
|
tableClassName = _ref4$tableClassName === void 0 ? "" : _ref4$tableClassName,
|
|
125
147
|
_ref4$paginationClass = _ref4.paginationClassName,
|
|
@@ -141,22 +163,55 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
141
163
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
142
164
|
pageSize = _useState6[0],
|
|
143
165
|
setPageSize = _useState6[1];
|
|
166
|
+
|
|
167
|
+
// Determine controlled vs uncontrolled values
|
|
168
|
+
var isPageControlled = typeof page === "number" && page > 0;
|
|
169
|
+
var isPageSizeControlled = typeof size === "number" && size > 0 || typeof rowsPerPage === "number" && rowsPerPage > 0;
|
|
170
|
+
var useExternalPagination = isPageControlled || isPageSizeControlled || typeof totalRows === "number" || typeof onSetPage === "function" || typeof onSetSize === "function" || typeof onPageChange === "function" || typeof onRowsPerPageChange === "function";
|
|
171
|
+
var effectivePage = isPageControlled ? page : currentPage;
|
|
172
|
+
var effectivePageSize = isPageSizeControlled ? typeof size === "number" && size > 0 ? size : rowsPerPage : pageSize;
|
|
144
173
|
var defaultSortFn = function defaultSortFn(a, b) {
|
|
145
174
|
if (a === b) return 0;
|
|
146
175
|
return a > b ? 1 : -1;
|
|
147
176
|
};
|
|
148
177
|
var handleSort = function handleSort(accessor, sortFn) {
|
|
149
|
-
var
|
|
150
|
-
if (
|
|
151
|
-
|
|
178
|
+
var isSortControlled = typeof orderBy === "string" || typeof onSetOrder === "function";
|
|
179
|
+
if (isSortControlled) {
|
|
180
|
+
var currentKey = typeof orderBy === "string" ? orderBy : null;
|
|
181
|
+
var currentDir = order === "desc" ? "desc" : "asc";
|
|
182
|
+
var nextDir = "asc";
|
|
183
|
+
if (currentKey === accessor) {
|
|
184
|
+
nextDir = currentDir === "asc" ? "desc" : "asc";
|
|
185
|
+
}
|
|
186
|
+
if (typeof onSetOrder === "function") {
|
|
187
|
+
onSetOrder(accessor, nextDir);
|
|
188
|
+
}
|
|
189
|
+
} else {
|
|
190
|
+
var direction = "asc";
|
|
191
|
+
if (sortConfig.key === accessor && sortConfig.direction === "asc") {
|
|
192
|
+
direction = "desc";
|
|
193
|
+
}
|
|
194
|
+
setSortConfig({
|
|
195
|
+
key: accessor,
|
|
196
|
+
direction: direction
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
if (useExternalPagination) {
|
|
200
|
+
if (typeof onSetPage === "function") {
|
|
201
|
+
onSetPage(1);
|
|
202
|
+
} else if (typeof onPageChange === "function") {
|
|
203
|
+
onPageChange(1);
|
|
204
|
+
} else {
|
|
205
|
+
setCurrentPage(1);
|
|
206
|
+
}
|
|
207
|
+
} else {
|
|
208
|
+
setCurrentPage(1);
|
|
152
209
|
}
|
|
153
|
-
setSortConfig({
|
|
154
|
-
key: accessor,
|
|
155
|
-
direction: direction
|
|
156
|
-
});
|
|
157
|
-
setCurrentPage(1);
|
|
158
210
|
};
|
|
159
211
|
var sortedData = (0, _react.useMemo)(function () {
|
|
212
|
+
// If sorting is controlled externally, do not sort here
|
|
213
|
+
var isSortControlled = typeof orderBy === "string" || typeof onSetOrder === "function";
|
|
214
|
+
if (isSortControlled) return data;
|
|
160
215
|
if (!sortConfig.key) return data;
|
|
161
216
|
var key = sortConfig.key,
|
|
162
217
|
direction = sortConfig.direction;
|
|
@@ -170,27 +225,44 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
170
225
|
var bValue = getValueByAccessor(b, key);
|
|
171
226
|
return sortFunction(aValue, bValue) * order;
|
|
172
227
|
});
|
|
173
|
-
}, [data, sortConfig, columns]);
|
|
174
|
-
var
|
|
228
|
+
}, [data, sortConfig, columns, orderBy, order, onSetOrder]);
|
|
229
|
+
var totalRowCount = (0, _react.useMemo)(function () {
|
|
230
|
+
return useExternalPagination ? totalRows !== null && totalRows !== void 0 ? totalRows : data.length : sortedData.length;
|
|
231
|
+
}, [useExternalPagination, totalRows, data.length, sortedData]);
|
|
175
232
|
var totalPages = (0, _react.useMemo)(function () {
|
|
176
|
-
return Math.max(1, Math.ceil(
|
|
177
|
-
}, [
|
|
233
|
+
return Math.max(1, Math.ceil((totalRowCount || 0) / (effectivePageSize || 1)));
|
|
234
|
+
}, [totalRowCount, effectivePageSize]);
|
|
178
235
|
var paginatedData = (0, _react.useMemo)(function () {
|
|
179
236
|
if (!showPagination) return sortedData;
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
237
|
+
if (useExternalPagination) return sortedData; // data is already paginated externally
|
|
238
|
+
var start = (effectivePage - 1) * effectivePageSize;
|
|
239
|
+
return sortedData.slice(start, start + effectivePageSize);
|
|
240
|
+
}, [sortedData, effectivePage, effectivePageSize, showPagination, useExternalPagination]);
|
|
183
241
|
var getSortIcon = function getSortIcon(column) {
|
|
184
|
-
|
|
185
|
-
|
|
242
|
+
var isSortControlled = typeof orderBy === "string" || typeof onSetOrder === "function";
|
|
243
|
+
if (isSortControlled) {
|
|
244
|
+
if (orderBy === column.accessor) {
|
|
245
|
+
return order === "desc" ? /*#__PURE__*/_react["default"].createElement(IconSortDescending, {
|
|
246
|
+
size: 16
|
|
247
|
+
}) : /*#__PURE__*/_react["default"].createElement(IconSortAscending, {
|
|
248
|
+
size: 16
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
return /*#__PURE__*/_react["default"].createElement(IconArrowsSort, {
|
|
186
252
|
size: 16
|
|
187
|
-
})
|
|
253
|
+
});
|
|
254
|
+
} else {
|
|
255
|
+
if (sortConfig.key === column.accessor) {
|
|
256
|
+
return sortConfig.direction === "asc" ? /*#__PURE__*/_react["default"].createElement(IconSortAscending, {
|
|
257
|
+
size: 16
|
|
258
|
+
}) : /*#__PURE__*/_react["default"].createElement(IconSortDescending, {
|
|
259
|
+
size: 16
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
return /*#__PURE__*/_react["default"].createElement(IconArrowsSort, {
|
|
188
263
|
size: 16
|
|
189
264
|
});
|
|
190
265
|
}
|
|
191
|
-
return /*#__PURE__*/_react["default"].createElement(IconArrowsSort, {
|
|
192
|
-
size: 16
|
|
193
|
-
});
|
|
194
266
|
};
|
|
195
267
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
196
268
|
className: parentClassName
|
|
@@ -202,11 +274,11 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
202
274
|
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
203
275
|
key: idx,
|
|
204
276
|
className: "".concat(column.className || "", " ").concat(column.sortable ? "sortable" : ""),
|
|
205
|
-
onClick: column.sortable ? function () {
|
|
277
|
+
onClick: column.sortable && !loading ? function () {
|
|
206
278
|
return handleSort(column.accessor, column.sortFn);
|
|
207
279
|
} : undefined,
|
|
208
280
|
style: {
|
|
209
|
-
cursor: column.sortable ? "pointer" : "default"
|
|
281
|
+
cursor: column.sortable && !loading ? "pointer" : "default"
|
|
210
282
|
}
|
|
211
283
|
}, column.icon && /*#__PURE__*/_react["default"].createElement("span", {
|
|
212
284
|
style: {
|
|
@@ -217,7 +289,10 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
217
289
|
marginRight: 8
|
|
218
290
|
}
|
|
219
291
|
}, column.label), column.sortable && getSortIcon(column));
|
|
220
|
-
}))), /*#__PURE__*/_react["default"].createElement("tbody", null,
|
|
292
|
+
}))), /*#__PURE__*/_react["default"].createElement("tbody", null, loading && /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", {
|
|
293
|
+
colSpan: columns.length,
|
|
294
|
+
className: "text-center py-3"
|
|
295
|
+
}, /*#__PURE__*/_react["default"].createElement(_index.Spinner, null))), paginatedData.map(function (row, rowIndex) {
|
|
221
296
|
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
222
297
|
key: rowIndex
|
|
223
298
|
}, columns.map(function (column, colIndex) {
|
|
@@ -230,18 +305,24 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
230
305
|
className: "d-flex justify-content-between align-items-center mt-2 ".concat(paginationClassName)
|
|
231
306
|
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_index.Button, {
|
|
232
307
|
onClick: function onClick() {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
308
|
+
var prev = Math.max(effectivePage - 1, 1);
|
|
309
|
+
if (useExternalPagination) {
|
|
310
|
+
if (typeof onSetPage === "function") return onSetPage(prev);
|
|
311
|
+
if (typeof onPageChange === "function") return onPageChange(prev);
|
|
312
|
+
}
|
|
313
|
+
setCurrentPage(prev);
|
|
236
314
|
},
|
|
237
|
-
disabled:
|
|
315
|
+
disabled: loading || effectivePage === 1
|
|
238
316
|
}, "Previous"), /*#__PURE__*/_react["default"].createElement(_index.Button, {
|
|
239
317
|
onClick: function onClick() {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
318
|
+
var next = Math.min(effectivePage + 1, totalPages);
|
|
319
|
+
if (useExternalPagination) {
|
|
320
|
+
if (typeof onSetPage === "function") return onSetPage(next);
|
|
321
|
+
if (typeof onPageChange === "function") return onPageChange(next);
|
|
322
|
+
}
|
|
323
|
+
setCurrentPage(next);
|
|
243
324
|
},
|
|
244
|
-
disabled:
|
|
325
|
+
disabled: loading || effectivePage === totalPages,
|
|
245
326
|
style: {
|
|
246
327
|
marginLeft: 8
|
|
247
328
|
}
|
|
@@ -249,11 +330,16 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
249
330
|
style: {
|
|
250
331
|
marginLeft: 16
|
|
251
332
|
}
|
|
252
|
-
}, "Page ",
|
|
333
|
+
}, "Page ", effectivePage, " of ", totalPages), /*#__PURE__*/_react["default"].createElement("span", {
|
|
253
334
|
style: {
|
|
254
335
|
marginLeft: 16
|
|
255
336
|
}
|
|
256
|
-
},
|
|
337
|
+
}, function () {
|
|
338
|
+
var hasData = paginatedData.length > 0;
|
|
339
|
+
var startIndex = hasData ? (effectivePage - 1) * effectivePageSize + 1 : 0;
|
|
340
|
+
var endIndex = hasData ? startIndex + paginatedData.length - 1 : 0;
|
|
341
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "Showing ", startIndex, " to ", endIndex, " of ", totalRowCount || 0, " rows");
|
|
342
|
+
}())), /*#__PURE__*/_react["default"].createElement(_index.DropdownInput, {
|
|
257
343
|
prompt: "Rows per page",
|
|
258
344
|
items: pageSizeOptions.map(function (size) {
|
|
259
345
|
return {
|
|
@@ -261,7 +347,13 @@ var Table = exports.Table = function Table(_ref4) {
|
|
|
261
347
|
label: size
|
|
262
348
|
};
|
|
263
349
|
}),
|
|
350
|
+
value: effectivePageSize,
|
|
351
|
+
disabled: loading,
|
|
264
352
|
onChange: function onChange(selected) {
|
|
353
|
+
if (useExternalPagination) {
|
|
354
|
+
if (typeof onSetSize === "function") return onSetSize(selected.id);
|
|
355
|
+
if (typeof onRowsPerPageChange === "function") return onRowsPerPageChange(selected.id);
|
|
356
|
+
}
|
|
265
357
|
setPageSize(selected.id);
|
|
266
358
|
setCurrentPage(1);
|
|
267
359
|
}
|
|
@@ -282,5 +374,21 @@ Table.propTypes = {
|
|
|
282
374
|
stickyHeader: _propTypes["default"].bool,
|
|
283
375
|
className: _propTypes["default"].string,
|
|
284
376
|
showPagination: _propTypes["default"].bool,
|
|
285
|
-
defaultRowsPerPage: _propTypes["default"].number
|
|
377
|
+
defaultRowsPerPage: _propTypes["default"].number,
|
|
378
|
+
// external pagination
|
|
379
|
+
page: _propTypes["default"].number,
|
|
380
|
+
rowsPerPage: _propTypes["default"].number,
|
|
381
|
+
size: _propTypes["default"].number,
|
|
382
|
+
totalRows: _propTypes["default"].number,
|
|
383
|
+
onPageChange: _propTypes["default"].func,
|
|
384
|
+
onRowsPerPageChange: _propTypes["default"].func,
|
|
385
|
+
onSetPage: _propTypes["default"].func,
|
|
386
|
+
onSetSize: _propTypes["default"].func,
|
|
387
|
+
pageSizeOptions: _propTypes["default"].arrayOf(_propTypes["default"].number),
|
|
388
|
+
// external ordering
|
|
389
|
+
orderBy: _propTypes["default"].string,
|
|
390
|
+
order: _propTypes["default"].oneOf(["asc", "desc"]),
|
|
391
|
+
onSetOrder: _propTypes["default"].func,
|
|
392
|
+
// loading
|
|
393
|
+
loading: _propTypes["default"].bool
|
|
286
394
|
};
|