@cashub/ui 0.10.5 → 0.10.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cashub/ui",
3
- "version": "0.10.5",
3
+ "version": "0.10.7",
4
4
  "private": false,
5
5
  "author": "CASHUB Team",
6
6
  "description": "CASHUB UI components library",
@@ -49,6 +49,18 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
49
49
 
50
50
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
51
51
 
52
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
53
+
54
+ 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."); }
55
+
56
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
57
+
58
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
59
+
60
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
61
+
62
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
63
+
52
64
  var GridTable = function GridTable(_ref) {
53
65
  var columns = _ref.columns,
54
66
  data = _ref.data,
@@ -62,12 +74,18 @@ var GridTable = function GridTable(_ref) {
62
74
  onSortChange = _ref.onSortChange,
63
75
  backgroundReverse = _ref.backgroundReverse,
64
76
  translation = _ref.translation;
77
+ var wrapperRef = (0, _react.useRef)(null);
65
78
  var tableRef = (0, _react.useRef)(null);
66
79
 
67
80
  var _useCalculateDataRang = (0, _hooks.useCalculateDataRange)(currentPage, limit, total),
68
81
  start = _useCalculateDataRang.start,
69
82
  end = _useCalculateDataRang.end;
70
83
 
84
+ var _useState = (0, _react.useState)(0),
85
+ _useState2 = _slicedToArray(_useState, 2),
86
+ restWidth = _useState2[0],
87
+ setRestWidth = _useState2[1];
88
+
71
89
  var texts = (0, _react.useMemo)(function () {
72
90
  var defaultTexts = {
73
91
  info: 'Showing _START_ to _END_ of _TOTAL_ entries',
@@ -80,6 +98,18 @@ var GridTable = function GridTable(_ref) {
80
98
  onSortChange(columnName);
81
99
  }
82
100
  }, [onSortChange]);
101
+ var handleResize = (0, _react.useCallback)(function () {
102
+ setRestWidth(function (previousWidth) {
103
+ var containerWidth = wrapperRef.current.offsetWidth;
104
+ var tableWidth = tableRef.current.offsetWidth - previousWidth;
105
+
106
+ if (containerWidth > tableWidth) {
107
+ return containerWidth - tableWidth;
108
+ }
109
+
110
+ return 0;
111
+ });
112
+ }, []);
83
113
  var showFullValue = (0, _react.useCallback)(function (event) {
84
114
  var id = event.target.id;
85
115
 
@@ -106,7 +136,7 @@ var GridTable = function GridTable(_ref) {
106
136
 
107
137
  var generateSort = (0, _hooks.useGenerateSort)(sortColumn, sortType);
108
138
  var tableHeads = (0, _react.useMemo)(function () {
109
- return columns.map(function (column, index) {
139
+ var tableHeads = columns.map(function (column, index) {
110
140
  var title = column.title,
111
141
  fieldName = column.fieldName,
112
142
  width = column.width,
@@ -126,10 +156,18 @@ var GridTable = function GridTable(_ref) {
126
156
  onClick: showFullValue,
127
157
  children: title
128
158
  }), sortable && generateSort(fieldName)]
129
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Resizer.default, {})]
159
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Resizer.default, {
160
+ onResize: handleResize
161
+ })]
130
162
  }, "TH".concat(index));
131
163
  });
132
- }, [backgroundReverse, columns, handleSortChange, generateSort, showFullValue]);
164
+ tableHeads.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridTableHeadCell.default, {
165
+ role: "presentation",
166
+ width: restWidth,
167
+ backgroundReverse: backgroundReverse
168
+ }, 'rest'));
169
+ return tableHeads;
170
+ }, [backgroundReverse, columns, handleSortChange, generateSort, showFullValue, handleResize, restWidth]);
133
171
  var tableRows = (0, _react.useMemo)(function () {
134
172
  if (data.length === 0) {
135
173
  return null;
@@ -165,6 +203,10 @@ var GridTable = function GridTable(_ref) {
165
203
  children: renderedData
166
204
  }), columnIndex);
167
205
  });
206
+ tds.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(TD, {
207
+ role: "presentation",
208
+ backgroundReverse: backgroundReverse
209
+ }, 'rest'));
168
210
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
169
211
  children: tds
170
212
  }, rowIndex);
@@ -180,8 +222,12 @@ var GridTable = function GridTable(_ref) {
180
222
  })
181
223
  });
182
224
  }, [backgroundReverse, columns, texts]);
225
+ (0, _react.useEffect)(function () {
226
+ handleResize();
227
+ }, [columns, handleResize]);
183
228
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
184
229
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TableWrapper, {
230
+ ref: wrapperRef,
185
231
  backgroundReverse: backgroundReverse,
186
232
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(ResponsiveTable, {
187
233
  ref: tableRef,
@@ -29,7 +29,9 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
29
29
 
30
30
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
31
 
32
- var Resizer = function Resizer() {
32
+ var Resizer = function Resizer(_ref) {
33
+ var onResize = _ref.onResize;
34
+
33
35
  var _useState = (0, _react.useState)(null),
34
36
  _useState2 = _slicedToArray(_useState, 2),
35
37
  parentNode = _useState2[0],
@@ -40,7 +42,11 @@ var Resizer = function Resizer() {
40
42
  event.preventDefault();
41
43
  var targetWidth = event.clientX - parentNode.getBoundingClientRect().left;
42
44
  parentNode.style.width = "".concat(targetWidth, "px");
43
- }, [parentNode]);
45
+
46
+ if (typeof onResize === 'function') {
47
+ onResize(targetWidth);
48
+ }
49
+ }, [parentNode, onResize]);
44
50
  var handleMouseUp = (0, _react.useCallback)(function (event) {
45
51
  event.stopPropagation();
46
52
  event.preventDefault();
@@ -49,8 +55,8 @@ var Resizer = function Resizer() {
49
55
  setParentNode(null);
50
56
  }, [handleMouseMove]);
51
57
 
52
- var initResize = function initResize(_ref) {
53
- var target = _ref.target;
58
+ var initResize = function initResize(_ref2) {
59
+ var target = _ref2.target;
54
60
  setParentNode(target.parentNode);
55
61
  };
56
62