@unbxd-ui/unbxd-react-components 0.2.145 → 0.2.146

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 (87) hide show
  1. package/README.md +17 -1
  2. package/components/Accordian/Accordian.js +1 -2
  3. package/components/Accordian/Accordian.stories.js +140 -117
  4. package/components/Button/Button.stories.js +167 -61
  5. package/components/Button/DropdownButton.js +1 -2
  6. package/components/Button/index.js +1 -2
  7. package/components/DataLoader/DataLoader.js +1 -2
  8. package/components/DataLoader/DataLoader.stories.js +239 -53
  9. package/components/Form/Checkbox.js +5 -4
  10. package/components/Form/DragDropFileUploader.js +1 -2
  11. package/components/Form/Dropdown.js +1 -2
  12. package/components/Form/FileUploader.js +1 -2
  13. package/components/Form/Form.js +1 -2
  14. package/components/Form/Input.js +1 -2
  15. package/components/Form/RadioList.js +1 -2
  16. package/components/Form/RangeSlider.js +1 -2
  17. package/components/Form/SearchableDropdown.js +563 -0
  18. package/components/Form/ServerPaginatedDDList.js +17 -11
  19. package/components/Form/Textarea.js +1 -2
  20. package/components/Form/Toggle.js +1 -2
  21. package/components/Form/formCore.css +1 -1
  22. package/components/Form/formTheme.css +1 -1
  23. package/components/Form/index.js +7 -0
  24. package/components/Form/stories/Checkbox.stories.js +138 -39
  25. package/components/Form/stories/Dropdown.stories.js +322 -91
  26. package/components/Form/stories/FileUploader.stories.js +177 -18
  27. package/components/Form/stories/Input.stories.js +115 -0
  28. package/components/Form/stories/RangeSlider.stories.js +161 -63
  29. package/components/Form/stories/SearchableDropdown.stories.js +189 -0
  30. package/components/Form/stories/ServerPaginatedDropdown.stories.js +365 -0
  31. package/components/Form/stories/Textarea.stories.js +112 -33
  32. package/components/Form/stories/Toggle.stories.js +192 -13
  33. package/components/Form/variables.css +0 -0
  34. package/components/InlineModal/InlineModal.js +1 -2
  35. package/components/InlineModal/InlineModal.stories.js +239 -45
  36. package/components/InlineModal/index.js +1 -2
  37. package/components/InlineModal/inlineModalCore.css +1 -1
  38. package/components/List/List.stories.js +238 -0
  39. package/components/Modal/Modal.js +1 -2
  40. package/components/Modal/Modal.stories.js +256 -37
  41. package/components/Modal/modalCore.css +1 -1
  42. package/components/NotificationComponent/NotificationComponent.js +1 -2
  43. package/components/NotificationComponent/NotificationComponent.stories.js +170 -18
  44. package/components/PageLoader/PageLoader.js +84 -0
  45. package/components/PageLoader/PageLoader.stories.js +276 -0
  46. package/components/PageLoader/index.js +9 -0
  47. package/components/PageLoader/pageLoaderCore.css +1 -0
  48. package/components/ProgressBar/ProgressBar.css +0 -0
  49. package/components/ProgressBar/ProgressBar.stories.js +202 -9
  50. package/components/ProgressBar/progressBarCore.css +1 -1
  51. package/components/Table/BaseTable.js +84 -354
  52. package/components/Table/Table.js +6 -359
  53. package/components/Table/Table.stories.js +2109 -150
  54. package/components/Table/TableChild.js +383 -0
  55. package/components/Table/TableConstants.js +15 -0
  56. package/components/Table/hooks/usePrevious.js +14 -0
  57. package/components/Table/index.js +13 -0
  58. package/components/Table/tableCore.css +1 -1
  59. package/components/TableOld/BaseTable.js +373 -0
  60. package/components/TableOld/PaginationComponent.js +86 -0
  61. package/components/TableOld/TableOld.js +367 -0
  62. package/components/TableOld/index.js +15 -0
  63. package/components/TabsComponent/TabsComponent.js +1 -2
  64. package/components/TabsComponent/TabsComponent.stories.js +290 -52
  65. package/components/ToastNotification/ToastNotificationWrapper.js +212 -0
  66. package/components/ToastNotification/ToastNotificationWrapper.stories.js +554 -0
  67. package/components/ToastNotification/index.js +40 -0
  68. package/components/ToastNotification/toastNotificationCore.css +1 -0
  69. package/components/Tooltip/Tooltip.js +221 -83
  70. package/components/Tooltip/Tooltip.stories.js +379 -14
  71. package/components/Tooltip/tooltipCore.css +1 -1
  72. package/components/Tooltip/tooltipTheme.css +1 -1
  73. package/components/core.css +2 -3
  74. package/components/core.scss +17 -0
  75. package/components/index.js +58 -2
  76. package/components/theme.css +2 -3
  77. package/core/dataLoader.js +5 -2
  78. package/index.js +54 -0
  79. package/package.json +31 -20
  80. package/components/Button/DropdownButton.stories.js +0 -49
  81. package/components/Form/stories/DragDropFileUploader.stories.js +0 -25
  82. package/components/Form/stories/FormDefault.stories.js +0 -115
  83. package/components/Form/stories/RadioList.stories.js +0 -53
  84. package/components/Form/stories/TextInput.stories.js +0 -76
  85. package/components/Form/stories/form.stories.js +0 -233
  86. package/components/List/list.stories.js +0 -35
  87. package/core/dataLoader.stories.js +0 -119
@@ -0,0 +1,373 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _utils = _interopRequireDefault(require("../../core/utils"));
11
+ var _Checkbox = _interopRequireDefault(require("../Form/Checkbox"));
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
14
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
15
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
17
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
18
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
21
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
22
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
23
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
24
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
26
+ 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; }
27
+ 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; } }
28
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
29
+ 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); }
30
+ var DEFAULT_CHECKBOX_CONFIG = {
31
+ enabled: false,
32
+ showInHeader: true
33
+ };
34
+ var DefaultNoDataComponent = function DefaultNoDataComponent() {
35
+ return /*#__PURE__*/_react["default"].createElement("div", {
36
+ className: "RCB-no-data"
37
+ }, "No data found");
38
+ };
39
+
40
+ /* eslint-disable react/prop-types */
41
+
42
+ var getTDValue = function getTDValue(_ref) {
43
+ var columnValue = _ref.columnValue,
44
+ _ref$rowData = _ref.rowData,
45
+ rowData = _ref$rowData === void 0 ? {} : _ref$rowData,
46
+ _ref$columnConfig = _ref.columnConfig,
47
+ columnConfig = _ref$columnConfig === void 0 ? {} : _ref$columnConfig,
48
+ _ref$tdProps = _ref.tdProps,
49
+ tdProps = _ref$tdProps === void 0 ? {} : _ref$tdProps;
50
+ var key = columnConfig.key,
51
+ valueFormatter = columnConfig.valueFormatter,
52
+ ColumnComponent = columnConfig.ColumnComponent,
53
+ _columnConfig$compone = columnConfig.componentProps,
54
+ componentProps = _columnConfig$compone === void 0 ? {} : _columnConfig$compone;
55
+ var tdValue = columnValue;
56
+ if (typeof valueFormatter === "function") {
57
+ tdValue = valueFormatter({
58
+ value: columnValue,
59
+ record: rowData
60
+ });
61
+ } else if (ColumnComponent) {
62
+ tdValue = /*#__PURE__*/_react["default"].createElement(ColumnComponent, _extends({
63
+ record: rowData
64
+ }, componentProps));
65
+ }
66
+ return /*#__PURE__*/_react["default"].createElement("td", _extends({
67
+ key: key
68
+ }, tdProps), tdValue);
69
+ };
70
+ var ExpandableTR = function ExpandableTR(props) {
71
+ var rowIndex = props.rowIndex,
72
+ rowData = props.rowData,
73
+ columnConfigs = props.columnConfigs,
74
+ isEven = props.isEven,
75
+ ExpandedRowComponent = props.ExpandedRowComponent,
76
+ showCheckbox = props.showCheckbox,
77
+ checkboxChangeCounter = props.checkboxChangeCounter,
78
+ checkboxValue = props.checkboxValue,
79
+ onSelectionChange = props.onSelectionChange;
80
+ var _useState = (0, _react.useState)(checkboxValue || false),
81
+ _useState2 = _slicedToArray(_useState, 2),
82
+ selected = _useState2[0],
83
+ setSelected = _useState2[1];
84
+ var _useState3 = (0, _react.useState)(false),
85
+ _useState4 = _slicedToArray(_useState3, 2),
86
+ isExpanded = _useState4[0],
87
+ setIsExpanded = _useState4[1];
88
+ var onChange = function onChange(value) {
89
+ setSelected(value);
90
+ onSelectionChange(rowData, value);
91
+ };
92
+ (0, _react.useEffect)(function () {
93
+ setSelected(checkboxValue);
94
+ }, [checkboxChangeCounter, checkboxValue]);
95
+ var toggleExpanded = function toggleExpanded() {
96
+ setIsExpanded(!isExpanded);
97
+ };
98
+ var className = "RCB-tr RCB-parent-row " + (isEven ? "RCB-even-tr" : "RCB-odd-tr");
99
+ return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement("tr", {
100
+ className: className
101
+ }, getTDValue({
102
+ columnValue: "",
103
+ columnConfig: {
104
+ key: "expandIcon"
105
+ },
106
+ tdProps: {
107
+ onClick: toggleExpanded,
108
+ className: isExpanded ? "expand-open" : "expand-close"
109
+ }
110
+ }), showCheckbox && /*#__PURE__*/_react["default"].createElement("td", {
111
+ key: "checkbox-colum-".concat(rowIndex)
112
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
113
+ name: "checkbox".concat(rowIndex),
114
+ type: "checkbox",
115
+ className: "table-checkbox",
116
+ onChange: onChange,
117
+ value: selected
118
+ })), columnConfigs.map(function (configObj) {
119
+ var key = configObj.key;
120
+ return getTDValue({
121
+ columnValue: rowData[key],
122
+ rowData: rowData,
123
+ columnConfig: configObj,
124
+ tdProps: {
125
+ onClick: toggleExpanded
126
+ }
127
+ });
128
+ })), isExpanded && /*#__PURE__*/_react["default"].createElement("tr", {
129
+ className: "RCB-expanded-row"
130
+ }, /*#__PURE__*/_react["default"].createElement("td", {
131
+ colSpan: columnConfigs.length + 1
132
+ }, /*#__PURE__*/_react["default"].createElement(ExpandedRowComponent, {
133
+ parentRecord: rowData
134
+ }))));
135
+ };
136
+ ExpandableTR.propTypes = {
137
+ ExpandedRowComponent: _propTypes["default"].any.isRequired // TODO : check for a React Component
138
+ };
139
+ var TR = function TR(props) {
140
+ var rowIndex = props.rowIndex,
141
+ rowData = props.rowData,
142
+ columnConfigs = props.columnConfigs,
143
+ isEven = props.isEven,
144
+ showCheckbox = props.showCheckbox,
145
+ checkboxChangeCounter = props.checkboxChangeCounter,
146
+ checkboxValue = props.checkboxValue,
147
+ onSelectionChange = props.onSelectionChange;
148
+ var _useState5 = (0, _react.useState)(checkboxValue || false),
149
+ _useState6 = _slicedToArray(_useState5, 2),
150
+ selected = _useState6[0],
151
+ setSelected = _useState6[1];
152
+ var className = "RCB-tr " + (isEven ? "RCB-even-tr" : "RCB-odd-tr");
153
+ var onChange = function onChange(value) {
154
+ setSelected(value);
155
+ onSelectionChange(rowData, value);
156
+ };
157
+ (0, _react.useEffect)(function () {
158
+ setSelected(checkboxValue);
159
+ }, [checkboxChangeCounter, checkboxValue]);
160
+ return /*#__PURE__*/_react["default"].createElement("tr", {
161
+ className: className
162
+ }, showCheckbox && /*#__PURE__*/_react["default"].createElement("td", {
163
+ key: "checkbox-colum-".concat(rowIndex)
164
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
165
+ name: "checkbox".concat(rowIndex),
166
+ type: "checkbox",
167
+ className: "table-checkbox",
168
+ onChange: onChange,
169
+ value: selected
170
+ })), columnConfigs.map(function (configObj) {
171
+ var key = configObj.key;
172
+ return getTDValue({
173
+ columnValue: rowData[key],
174
+ rowData: rowData,
175
+ columnConfig: configObj
176
+ });
177
+ }));
178
+ };
179
+ var BaseTable = function BaseTable(props, ref) {
180
+ var className = props.className,
181
+ records = props.records,
182
+ columnConfigs = props.columnConfigs,
183
+ idAttribute = props.idAttribute,
184
+ checkboxConfig = props.checkboxConfig,
185
+ isExpandableTable = props.isExpandableTable,
186
+ ExpandedRowComponent = props.ExpandedRowComponent,
187
+ noDataComponent = props.noDataComponent,
188
+ sortByConfig = props.sortByConfig,
189
+ resetPageNo = props.resetPageNo,
190
+ pageNo = props.pageNo,
191
+ tbodyClassName = props.tbodyClassName,
192
+ refreshFeature = props.refreshFeature,
193
+ onRefreshTableData = props.onRefreshTableData,
194
+ isTableRefreshing = props.isTableRefreshing,
195
+ refreshIconClass = props.refreshIconClass,
196
+ spinnerIconClass = props.spinnerIconClass,
197
+ onRefreshCB = props.onRefreshCB;
198
+ var _DEFAULT_CHECKBOX_CON = _objectSpread(_objectSpread({}, DEFAULT_CHECKBOX_CONFIG), checkboxConfig || {}),
199
+ showCheckbox = _DEFAULT_CHECKBOX_CON.enabled,
200
+ showInHeader = _DEFAULT_CHECKBOX_CON.showInHeader;
201
+ var sortBy = sortByConfig.sortBy,
202
+ sortOrder = sortByConfig.sortOrder;
203
+ var _useState7 = (0, _react.useState)(false),
204
+ _useState8 = _slicedToArray(_useState7, 2),
205
+ checkboxValue = _useState8[0],
206
+ setCheckboxValue = _useState8[1];
207
+ var _useState9 = (0, _react.useState)(0),
208
+ _useState0 = _slicedToArray(_useState9, 2),
209
+ checkboxChangeCounter = _useState0[0],
210
+ setChangeCounter = _useState0[1];
211
+ var _useState1 = (0, _react.useState)([]),
212
+ _useState10 = _slicedToArray(_useState1, 2),
213
+ selected = _useState10[0],
214
+ setSelected = _useState10[1];
215
+ var RowComponent = isExpandableTable ? ExpandableTR : TR;
216
+ var onSelectionChange = function onSelectionChange(record, checked) {
217
+ if (checked) {
218
+ /* add to selected array */
219
+ setSelected([].concat(_toConsumableArray(selected), [record]));
220
+ } else {
221
+ /* remove from selected array */
222
+ var newSelected = selected.filter(function (obj) {
223
+ return obj[idAttribute] !== record[idAttribute];
224
+ });
225
+ setSelected(newSelected);
226
+ }
227
+ };
228
+ var getSelectedRows = function getSelectedRows() {
229
+ return selected;
230
+ };
231
+ var refreshTableData = function refreshTableData() {
232
+ if (onRefreshCB) onRefreshCB();
233
+ onRefreshTableData();
234
+ };
235
+ var updateCheckboxValue = function updateCheckboxValue(newValue) {
236
+ setCheckboxValue(newValue);
237
+ setChangeCounter(checkboxChangeCounter + 1);
238
+ };
239
+ var resetSelected = function resetSelected() {
240
+ updateCheckboxValue(false);
241
+ setSelected([]);
242
+ };
243
+ var toggleSelectAll = function toggleSelectAll() {
244
+ var checked = !checkboxValue;
245
+ updateCheckboxValue(checked);
246
+ if (checked) {
247
+ setSelected(records);
248
+ } else {
249
+ setSelected([]);
250
+ }
251
+ };
252
+ (0, _react.useImperativeHandle)(ref, function () {
253
+ return {
254
+ getSelectedRows: getSelectedRows,
255
+ resetSelected: resetSelected,
256
+ resetPageNo: resetPageNo
257
+ };
258
+ });
259
+ if (records.length === 0) {
260
+ if (pageNo === 1) {
261
+ return noDataComponent;
262
+ } else {
263
+ var LoaderComponent = _utils["default"].getDefaultConfig("DefaultLoader") || "";
264
+ return /*#__PURE__*/_react["default"].createElement(LoaderComponent, null);
265
+ }
266
+ } else {
267
+ return /*#__PURE__*/_react["default"].createElement("table", {
268
+ className: "RCB-table ".concat(className)
269
+ }, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, isExpandableTable && /*#__PURE__*/_react["default"].createElement("th", {
270
+ key: "expandIcon",
271
+ className: "RCB-th RCB-expand-column"
272
+ }), showCheckbox && (showInHeader ? /*#__PURE__*/_react["default"].createElement("th", {
273
+ key: "headerCheckbox"
274
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
275
+ name: "headerCheckbox",
276
+ type: "checkbox",
277
+ className: "table-checkbox",
278
+ value: checkboxValue,
279
+ onChange: toggleSelectAll
280
+ })) : /*#__PURE__*/_react["default"].createElement("th", null)), columnConfigs.map(function (columnObj) {
281
+ var key = columnObj.key,
282
+ label = columnObj.label,
283
+ sortable = columnObj.sortable,
284
+ headerClassName = columnObj.headerClassName;
285
+ var className = "RCB-th";
286
+ var thAttrs = {};
287
+ if (sortable) {
288
+ className += " RCB-th-sortable";
289
+ if (sortBy === key) {
290
+ className += " RCB-th-".concat(sortOrder.toLowerCase());
291
+ } else {
292
+ className += " RCB-th-sort";
293
+ }
294
+ thAttrs = {
295
+ onClick: function onClick() {
296
+ props.onSort(columnObj);
297
+ }
298
+ };
299
+ }
300
+ if (headerClassName) {
301
+ className += " ".concat(headerClassName);
302
+ }
303
+ return /*#__PURE__*/_react["default"].createElement("th", _extends({
304
+ className: className,
305
+ key: key
306
+ }, thAttrs), label);
307
+ }), refreshFeature && /*#__PURE__*/_react["default"].createElement("th", null, !isTableRefreshing && /*#__PURE__*/_react["default"].createElement("span", {
308
+ onClick: refreshTableData,
309
+ className: refreshIconClass
310
+ }), isTableRefreshing && /*#__PURE__*/_react["default"].createElement("span", {
311
+ className: spinnerIconClass
312
+ })))), /*#__PURE__*/_react["default"].createElement("tbody", {
313
+ className: tbodyClassName
314
+ }, records.map(function (rowData, index) {
315
+ return /*#__PURE__*/_react["default"].createElement(RowComponent, {
316
+ key: rowData[idAttribute],
317
+ isEven: _utils["default"].isEven(index),
318
+ rowIndex: index,
319
+ rowData: rowData,
320
+ columnConfigs: columnConfigs,
321
+ ExpandedRowComponent: ExpandedRowComponent,
322
+ showCheckbox: showCheckbox,
323
+ checkboxValue: checkboxValue,
324
+ checkboxChangeCounter: checkboxChangeCounter,
325
+ onSelectionChange: onSelectionChange
326
+ });
327
+ })));
328
+ }
329
+ };
330
+ BaseTable = /*#__PURE__*/(0, _react.forwardRef)(BaseTable);
331
+
332
+ /* eslint-enable react/prop-types */
333
+
334
+ BaseTable.propTypes = {
335
+ /** Pass any additional classNames to Table component */
336
+ className: _propTypes["default"].string,
337
+ /** Array containing table row data */
338
+ records: function records(props, propName) {
339
+ if (props["paginationType"] == "CLIENT") {
340
+ if (!props[propName]) {
341
+ return new Error("Please provide the table records for paginationType 'CLIENT'!");
342
+ }
343
+ if (Object.prototype.toString.call(props[propName]) !== "[object Array]") {
344
+ return new Error("'records' must be an array");
345
+ }
346
+ }
347
+ },
348
+ /** Array containing the table columns config */
349
+ columnConfigs: _propTypes["default"].array.isRequired,
350
+ /** ID attribute key to use when rendering the dropdown items */
351
+ idAttribute: _propTypes["default"].string,
352
+ /* Config to display checkbox in the first column of the table
353
+ * {
354
+ enabled: false, // turn this on to display checkbox in first column of the table
355
+ showInHeader: true // turn this off to not display the checkbox in the table header
356
+ }
357
+ */
358
+ checkboxConfig: _propTypes["default"].object,
359
+ /** set to "true" if table rows are expandable */
360
+ isExpandableTable: _propTypes["default"].bool,
361
+ /** Component to be rendered on expanding a row */
362
+ ExpandedRowComponent: _propTypes["default"].oneOfType([_propTypes["default"].instanceOf(Element), _propTypes["default"].func]),
363
+ /** Component to be rendered if the table has no data */
364
+ noDataComponent: _propTypes["default"].any
365
+ };
366
+ BaseTable.defaultProps = {
367
+ className: "",
368
+ records: [],
369
+ idAttribute: "id",
370
+ isExpandableTable: false,
371
+ noDataComponent: /*#__PURE__*/_react["default"].createElement(DefaultNoDataComponent, null)
372
+ };
373
+ var _default = exports["default"] = BaseTable;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Dropdown = _interopRequireDefault(require("../Form/Dropdown"));
10
+ var _utils = _interopRequireDefault(require("../../core/utils"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
+ var PaginationComponent = function PaginationComponent(props) {
19
+ var pageSizeList = props.pageSizeList,
20
+ pageConfig = props.pageConfig,
21
+ onPageConfigChanged = props.onPageConfigChanged;
22
+ var perPageCount = pageConfig.perPageCount,
23
+ pageNo = pageConfig.pageNo,
24
+ total = pageConfig.total;
25
+ var SelectionSummary = function SelectionSummary() {
26
+ var pagIndex = _utils["default"].getPagIndex(pageConfig);
27
+ var start = pagIndex.start,
28
+ end = pagIndex.end;
29
+ var startVal = start + 1;
30
+ var endVal = total < end ? total : end;
31
+ var summaryString = "".concat(startVal, "-").concat(endVal);
32
+ return /*#__PURE__*/_react["default"].createElement("div", {
33
+ className: "RCB-select-summary"
34
+ }, summaryString, /*#__PURE__*/_react["default"].createElement("span", {
35
+ className: "RCB-select-arrow"
36
+ }));
37
+ };
38
+ var onPerPageChanged = function onPerPageChanged(perPageObj) {
39
+ var perPage = +perPageObj.id;
40
+ onPageConfigChanged(_objectSpread(_objectSpread({}, pageConfig), {}, {
41
+ pageNo: 1,
42
+ perPageCount: perPage
43
+ }));
44
+ };
45
+ var changePage = function changePage(moveUnit, event) {
46
+ event.preventDefault();
47
+ onPageConfigChanged(_objectSpread(_objectSpread({}, pageConfig), {}, {
48
+ pageNo: pageNo + moveUnit
49
+ }));
50
+ };
51
+ var isLeftNavDisbaled = pageNo <= 1;
52
+ var isRightNavDisbaled = pageNo >= Math.ceil(total / +perPageCount);
53
+ return /*#__PURE__*/_react["default"].createElement("div", {
54
+ className: "RCB-paginate-wrapper"
55
+ }, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
56
+ name: "perPageCount",
57
+ showLabel: false,
58
+ className: "RCB-per-page-count",
59
+ options: pageSizeList,
60
+ onChange: onPerPageChanged,
61
+ SelectionSummary: SelectionSummary
62
+ }), "of ".concat(total), /*#__PURE__*/_react["default"].createElement("div", {
63
+ className: "RCB-paginate-nav"
64
+ }, /*#__PURE__*/_react["default"].createElement("a", {
65
+ href: "javacsript:void(0)",
66
+ className: "RCB-page-nav ".concat(isLeftNavDisbaled ? "disabled" : ""),
67
+ onClick: function onClick(event) {
68
+ return changePage(-1, event);
69
+ }
70
+ }, "<"), /*#__PURE__*/_react["default"].createElement("a", {
71
+ href: "javacsript:void(0)",
72
+ className: "RCB-page-nav ".concat(isRightNavDisbaled ? "disabled" : ""),
73
+ onClick: function onClick(event) {
74
+ return changePage(1, event);
75
+ }
76
+ }, ">")));
77
+ };
78
+ PaginationComponent.propTypes = {
79
+ pageSizeList: _propTypes["default"].arrayOf(_propTypes["default"].shape({
80
+ id: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
81
+ name: _propTypes["default"].string
82
+ })),
83
+ pageConfig: _propTypes["default"].object,
84
+ onPageConfigChanged: _propTypes["default"].func.isRequired
85
+ };
86
+ var _default = exports["default"] = PaginationComponent;