@cashub/ui 0.12.3 → 0.13.1

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.12.3",
3
+ "version": "0.13.1",
4
4
  "private": false,
5
5
  "author": "CASHUB Team",
6
6
  "description": "CASHUB UI components library",
@@ -31,7 +31,7 @@ var _Popover = _interopRequireDefault(require("../popover/Popover"));
31
31
 
32
32
  var _jsxRuntime = require("react/jsx-runtime");
33
33
 
34
- var _templateObject, _templateObject2, _templateObject3;
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
35
35
 
36
36
  var _excluded = ["title", "fieldName", "render", "custom"];
37
37
 
@@ -83,8 +83,13 @@ var GridTable = function GridTable(_ref) {
83
83
 
84
84
  var _useState = (0, _react.useState)(0),
85
85
  _useState2 = _slicedToArray(_useState, 2),
86
- restWidth = _useState2[0],
87
- setRestWidth = _useState2[1];
86
+ tableWidth = _useState2[0],
87
+ setTableWidth = _useState2[1];
88
+
89
+ var _useState3 = (0, _react.useState)(0),
90
+ _useState4 = _slicedToArray(_useState3, 2),
91
+ restWidth = _useState4[0],
92
+ setRestWidth = _useState4[1];
88
93
 
89
94
  var texts = (0, _react.useMemo)(function () {
90
95
  var defaultTexts = {
@@ -99,6 +104,7 @@ var GridTable = function GridTable(_ref) {
99
104
  }
100
105
  }, [onSortChange]);
101
106
  var handleResize = (0, _react.useCallback)(function () {
107
+ setTableWidth(tableRef.current.offsetWidth);
102
108
  setRestWidth(function (previousWidth) {
103
109
  var containerWidth = wrapperRef.current.offsetWidth;
104
110
  var tableWidth = tableRef.current.offsetWidth - previousWidth;
@@ -110,6 +116,10 @@ var GridTable = function GridTable(_ref) {
110
116
  return 0;
111
117
  });
112
118
  }, []);
119
+ var handleScroll = (0, _react.useCallback)(function (event) {
120
+ var target = event.target;
121
+ wrapperRef.current.scrollLeft = target.scrollLeft;
122
+ }, []);
113
123
  var showFullValue = (0, _react.useCallback)(function (event) {
114
124
  var id = event.target.id;
115
125
 
@@ -225,6 +235,11 @@ var GridTable = function GridTable(_ref) {
225
235
  (0, _react.useEffect)(function () {
226
236
  handleResize();
227
237
  }, [columns, handleResize]);
238
+ (0, _react.useEffect)(function () {
239
+ if (tableRef.current) {
240
+ setTableWidth(tableRef.current.offsetWidth);
241
+ }
242
+ }, [columns]);
228
243
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
229
244
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TableWrapper, {
230
245
  ref: wrapperRef,
@@ -239,6 +254,10 @@ var GridTable = function GridTable(_ref) {
239
254
  children: tableRows || generateEmptyMessage()
240
255
  })]
241
256
  })
257
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Scrollbar, {
258
+ backgroundReverse: backgroundReverse,
259
+ width: tableWidth,
260
+ onScroll: handleScroll
242
261
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridTableFooter.default, {
243
262
  backgroundReverse: backgroundReverse,
244
263
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TableFooterInfo.default, {
@@ -277,12 +296,10 @@ var GridTable = function GridTable(_ref) {
277
296
  });
278
297
  };
279
298
 
280
- var TableWrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow: auto;\n background: ", ";\n\n ", "\n"])), function (_ref2) {
299
+ var TableWrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow: hidden;\n background: ", ";\n"])), function (_ref2) {
281
300
  var backgroundReverse = _ref2.backgroundReverse;
282
301
  return backgroundReverse ? 'var(--color-background1)' : 'var(--color-background2)';
283
- }, (0, _scrollbar.default)({
284
- size: 'large'
285
- }));
302
+ });
286
303
 
287
304
  var ResponsiveTable = _styledComponents.default.table(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n /* make fixed width work */\n width: 0px;\n color: var(--font-on-primary);\n table-layout: fixed;\n border-collapse: collapse;\n"])));
288
305
 
@@ -294,5 +311,15 @@ var TD = _styledComponents.default.td(_templateObject3 || (_templateObject3 = _t
294
311
  return backgroundReverse ? 'var(--color-background1)' : 'var(--color-background2)';
295
312
  });
296
313
 
314
+ var Scrollbar = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: sticky;\n bottom: 48px;\n width: 100%;\n overflow: auto;\n background: ", ";\n\n ::before {\n display: block;\n content: '';\n width: ", ";\n height: 1px;\n }\n\n ", "\n"])), function (_ref5) {
315
+ var backgroundReverse = _ref5.backgroundReverse;
316
+ return backgroundReverse ? 'var(--color-background1)' : 'var(--color-background2)';
317
+ }, function (_ref6) {
318
+ var width = _ref6.width;
319
+ return "".concat(width, "px");
320
+ }, (0, _scrollbar.default)({
321
+ size: 'large'
322
+ }));
323
+
297
324
  var _default = GridTable;
298
325
  exports.default = _default;
@@ -15,7 +15,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
15
 
16
16
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
17
 
18
- var GridTableFooter = (0, _styledComponents.default)(_TableFooter.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: 48px;\n padding: 0 var(--spacing-xs);\n border-top: 1px solid var(--border-color);\n border-bottom: 1px solid var(--border-color);\n background: ", ";\n"])), function (_ref) {
18
+ var GridTableFooter = (0, _styledComponents.default)(_TableFooter.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: sticky;\n bottom: 0;\n height: 48px;\n padding: 0 var(--spacing-xs);\n border-top: 1px solid var(--border-color);\n border-bottom: 1px solid var(--border-color);\n background: ", ";\n"])), function (_ref) {
19
19
  var backgroundReverse = _ref.backgroundReverse;
20
20
  return backgroundReverse ? 'var(--color-background1)' : 'var(--color-background2)';
21
21
  });