@cashub/ui 0.38.4 → 0.39.0

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.38.4",
3
+ "version": "0.39.0",
4
4
  "private": false,
5
5
  "author": "CasHUB Team",
6
6
  "description": "CasHUB UI components library",
package/table/Table.js CHANGED
@@ -16,7 +16,7 @@ var _Paginate = _interopRequireDefault(require("../paginate/Paginate"));
16
16
  var _Select = _interopRequireDefault(require("../select/Select"));
17
17
  var _Popover = _interopRequireDefault(require("../popover/Popover"));
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;
19
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
20
20
  const _excluded = ["title", "fieldName", "render", "custom", "customPop"];
21
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -44,6 +44,7 @@ const Table = _ref => {
44
44
  select,
45
45
  selected,
46
46
  onRowClick,
47
+ enableRowDrag,
47
48
  onRowDragEnter,
48
49
  onRowDragLeave,
49
50
  onRowDragOver,
@@ -209,13 +210,34 @@ const Table = _ref => {
209
210
  children: render ? render(value, row) : String(value)
210
211
  });
211
212
  }
212
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TableDataCell, _objectSpread(_objectSpread({
213
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TableDataCell, _objectSpread(_objectSpread({
213
214
  "data-label": title,
215
+ enableRowDrag: columnIndex === columns.length - 1 && enableRowDrag,
214
216
  backgroundReverse: backgroundReverse,
215
217
  border: rowConfig.border,
216
218
  custom: isCustom
217
219
  }, props), {}, {
218
- children: renderedData
220
+ children: [renderedData, enableRowDrag && columnIndex === columns.length - 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(DragHandle, {
221
+ draggable: true,
222
+ onDragStart: event => {
223
+ event.dataTransfer.setData('fromRow', JSON.stringify(row));
224
+ },
225
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
226
+ stroke: "currentColor",
227
+ fill: "currentColor",
228
+ "stroke-width": "0",
229
+ viewBox: "0 0 24 24",
230
+ height: "1em",
231
+ width: "1em",
232
+ xmlns: "http://www.w3.org/2000/svg",
233
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
234
+ fill: "none",
235
+ d: "M0 0h24v24H0V0z"
236
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
237
+ d: "M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"
238
+ })]
239
+ })
240
+ })]
219
241
  }), columnIndex);
220
242
  });
221
243
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(BodyTR, {
@@ -228,12 +250,18 @@ const Table = _ref => {
228
250
  handleRowClick(event, row);
229
251
  },
230
252
  onDragEnter: event => {
253
+ event.preventDefault();
254
+ event.stopPropagation();
231
255
  handleRowDragEnter(event, row);
232
256
  },
233
257
  onDragLeave: event => {
258
+ event.preventDefault();
259
+ event.stopPropagation();
234
260
  handleRowDragLeave(event, row);
235
261
  },
236
262
  onDragOver: event => {
263
+ event.preventDefault();
264
+ event.stopPropagation();
237
265
  handleRowDragOver(event, row);
238
266
  },
239
267
  onDrop: event => {
@@ -242,7 +270,7 @@ const Table = _ref => {
242
270
  children: tds
243
271
  }, rowIndex);
244
272
  });
245
- }, [backgroundReverse, beforeCreateRow, columns, data, handleRowClick, handleRowDragEnter, handleRowDragLeave, handleRowDragOver, handleRowDrop, onRowClick, select, selected, showFullValue]);
273
+ }, [backgroundReverse, beforeCreateRow, columns, data, handleRowClick, handleRowDragEnter, handleRowDragLeave, handleRowDragOver, handleRowDrop, onRowClick, enableRowDrag, select, selected, showFullValue]);
246
274
  const generateEmptyMessage = (0, _react.useCallback)(() => {
247
275
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(BodyTR, {
248
276
  noData: true,
@@ -259,6 +287,7 @@ const Table = _ref => {
259
287
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
260
288
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(ResponsiveTable, {
261
289
  ref: tableRef,
290
+ enableRowDrag: enableRowDrag,
262
291
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TableHead, {
263
292
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
264
293
  children: tableHeads
@@ -268,6 +297,7 @@ const Table = _ref => {
268
297
  })]
269
298
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableFooter.default, {
270
299
  center: centerFooter,
300
+ enableRowDrag: enableRowDrag,
271
301
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TableFooterInfo.default, {
272
302
  children: texts.info.replace('_START_', start).replace('_END_', end).replace('_TOTAL_', total)
273
303
  }), showPager && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableFooterPager.default, {
@@ -304,74 +334,85 @@ const Table = _ref => {
304
334
  })]
305
335
  });
306
336
  };
307
- const ResponsiveTable = _styledComponents.default.table(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n border-collapse: separate;\n margin-top: calc(var(--spacing-s) * -1);\n border-spacing: 0 var(--spacing-s);\n color: var(--font-on-background);\n table-layout: fixed;\n"])));
337
+ const ResponsiveTable = _styledComponents.default.table(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n border-collapse: separate;\n margin-top: calc(var(--spacing-s) * -1);\n border-spacing: 0 var(--spacing-s);\n color: var(--font-on-background);\n table-layout: fixed;\n\n ", "\n"])), _ref2 => {
338
+ let {
339
+ enableRowDrag
340
+ } = _ref2;
341
+ return enableRowDrag && 'padding-right: calc(1.5rem + 0.5rem);';
342
+ });
308
343
  const TableHead = _styledComponents.default.thead(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", "\n"])), _media.default.mobile(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: none;\n "]))));
309
- const BodyTR = _styledComponents.default.tr(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n &:hover {\n > td {\n border-color: var(--color-primary);\n border-width: var(--border-width);\n }\n }\n\n ", "\n\n ", "\n \n ", "\n"])), _ref2 => {
344
+ const BodyTR = _styledComponents.default.tr(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n &:hover {\n > td {\n border-color: var(--color-primary);\n border-width: var(--border-width);\n }\n }\n\n ", "\n\n ", "\n \n ", "\n"])), _ref3 => {
310
345
  let {
311
346
  active,
312
347
  primary
313
- } = _ref2;
348
+ } = _ref3;
314
349
  return (active || primary) && (0, _styledComponents.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n > td {\n background: var(--color-background3);\n }\n "])));
315
- }, _ref3 => {
350
+ }, _ref4 => {
316
351
  let {
317
352
  clickable
318
- } = _ref3;
353
+ } = _ref4;
319
354
  return clickable && 'pointer: cursor;';
320
- }, _media.default.mobile(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n overflow: hidden;\n position: relative;\n transition: .3s;\n display: block;\n margin-bottom: 0.75rem;\n padding: var(--spacing-xs) var(--spacing-s);\n background: var(\n --color-background", "\n );\n border-radius: var(--border-radius);\n transition: .3s;\n border: 1px solid transparent;\n\n &:hover {\n border: var(--border-width) solid var(--color-primary);\n }\n\n ", "\n\n ", "\n\n ", "\n "])), _ref4 => {
355
+ }, _media.default.mobile(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n overflow: hidden;\n position: relative;\n transition: .3s;\n display: block;\n margin-bottom: 0.75rem;\n padding: var(--spacing-xs) var(--spacing-s);\n background: var(\n --color-background", "\n );\n border-radius: var(--border-radius);\n transition: .3s;\n border: 1px solid transparent;\n\n &:hover {\n border: var(--border-width) solid var(--color-primary);\n }\n\n ", "\n\n ", "\n\n ", "\n "])), _ref5 => {
321
356
  let {
322
357
  backgroundReverse
323
- } = _ref4;
358
+ } = _ref5;
324
359
  return backgroundReverse ? 1 : 2;
325
- }, _ref5 => {
360
+ }, _ref6 => {
326
361
  let {
327
362
  active,
328
363
  primary
329
- } = _ref5;
364
+ } = _ref6;
330
365
  return (active || primary) && (0, _styledComponents.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n background: var(--color-background3);\n "])));
331
- }, _ref6 => {
366
+ }, _ref7 => {
332
367
  let {
333
368
  border
334
- } = _ref6;
369
+ } = _ref7;
335
370
  return border && (0, _styledComponents.css)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n border-color: var(--font-on-background);\n border-width: 3px;\n "])));
336
- }, _ref7 => {
371
+ }, _ref8 => {
337
372
  let {
338
373
  noData
339
- } = _ref7;
374
+ } = _ref8;
340
375
  return noData && (0, _styledComponents.css)(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n height: 168px;\n\n > td {\n &:first-child:before {\n display: none;\n }\n }\n "])));
341
376
  }));
342
- const TableDataCell = _styledComponents.default.td.attrs(_ref8 => {
377
+ const TableDataCell = _styledComponents.default.td.attrs(_ref9 => {
343
378
  let {
344
379
  border
345
- } = _ref8;
380
+ } = _ref9;
346
381
  return {
347
382
  borderWidth: border ? '3px' : 'var(--border-width)',
348
383
  borderColor: border ? 'var(--font-on-background)' : 'transparent'
349
384
  };
350
- })(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n height: 48px;\n background: ", ";\n padding: 0 var(--spacing-xs);\n max-width: 0px;\n text-align: ", ";\n vertical-align: middle;\n transition: border-color 0.3s;\n\n ", "\n > span {\n display: inline-block;\n width: 100%;\n overflow: hidden;\n white-space: pre;\n text-overflow: ellipsis;\n }\n\n ", "\n\n ", "\n"])), _ref9 => {
385
+ })(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n height: 48px;\n background: ", ";\n padding: 0 var(--spacing-xs);\n max-width: 0px;\n text-align: ", ";\n vertical-align: middle;\n transition: border-color 0.3s;\n\n ", "\n > span {\n display: inline-block;\n width: 100%;\n overflow: hidden;\n white-space: pre;\n text-overflow: ellipsis;\n }\n\n ", "\n\n ", "\n\n ", "\n"])), _ref10 => {
351
386
  let {
352
387
  backgroundReverse
353
- } = _ref9;
388
+ } = _ref10;
354
389
  return backgroundReverse ? 'var(--color-background1)' : 'var(--color-background2)';
355
- }, _ref10 => {
390
+ }, _ref11 => {
356
391
  let {
357
392
  center
358
- } = _ref10;
393
+ } = _ref11;
359
394
  return center ? 'center' : 'left';
360
- }, _ref11 => {
395
+ }, _ref12 => {
361
396
  let {
362
397
  borderWidth,
363
398
  borderColor
364
- } = _ref11;
399
+ } = _ref12;
365
400
  return (0, _styledComponents.css)(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n border-top: ", " solid ", ";\n border-bottom: ", " solid ", ";\n &:first-child {\n border-left: ", " solid ", ";\n border-top-left-radius: var(--border-radius-l);\n border-bottom-left-radius: var(--border-radius-l);\n padding-left: var(--spacing);\n }\n\n &:last-child {\n border-right: ", " solid ", ";\n border-top-right-radius: var(--border-radius-l);\n border-bottom-right-radius: var(--border-radius-l);\n padding-right: var(--spacing);\n }\n "])), borderWidth, borderColor, borderWidth, borderColor, borderWidth, borderColor, borderWidth, borderColor);
366
- }, _ref12 => {
401
+ }, _ref13 => {
367
402
  let {
368
403
  noData
369
- } = _ref12;
404
+ } = _ref13;
370
405
  return noData && (0, _styledComponents.css)(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n padding: 20px 0;\n "])));
371
- }, _media.default.mobile(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n display: flex;\n height: auto;\n margin-bottom: var(--spacing-xs);\n background: transparent !important;\n border: none !important;\n min-width: 100%;\n \n &:first-child {\n padding: var(--spacing-xs) 0 0 var(--spacing-xs);\n }\n\n &:last-child {\n padding-right: var(--spacing-xs);\n }\n\n &:before {\n content: attr(data-label) \": \";\n font-weight: bold;\n padding-right: var(--spacing-xs);\n }\n\n > span {\n flex: 1;\n }\n \n ", "\n "])), _ref13 => {
406
+ }, _ref14 => {
407
+ let {
408
+ enableRowDrag
409
+ } = _ref14;
410
+ return enableRowDrag && 'position: relative;';
411
+ }, _media.default.mobile(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n display: flex;\n height: auto;\n margin-bottom: var(--spacing-xs);\n background: transparent !important;\n border: none !important;\n min-width: 100%;\n \n &:first-child {\n padding: var(--spacing-xs) 0 0 var(--spacing-xs);\n }\n\n &:last-child {\n padding-right: var(--spacing-xs);\n }\n\n &:before {\n content: attr(data-label) \": \";\n font-weight: bold;\n padding-right: var(--spacing-xs);\n }\n\n > span {\n flex: 1;\n }\n \n ", "\n "])), _ref15 => {
372
412
  let {
373
413
  custom
374
- } = _ref13;
414
+ } = _ref15;
375
415
  return custom && (0, _styledComponents.css)(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n &:last-child:before {\n display: none;\n }\n\n &:last-child {\n padding: 0;\n position: absolute;\n right: 0.75rem;\n top: var(--spacing-xs);\n justify-content: flex-end;\n }\n "])));
376
416
  }));
417
+ const DragHandle = _styledComponents.default.div(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing);\n height: var(--spacing);\n position: absolute;\n left: calc(100% + var(--spacing-xs));\n cursor: grab;\n top: 50%;\n transform: translateY(-50%);\n"])));
377
418
  var _default = exports.default = Table;
@@ -18,7 +18,7 @@ const columns = [{
18
18
  render(data) {
19
19
  return data.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_badge.Badge, {
20
20
  style: {
21
- margin: 'var(--spacing-xs)'
21
+ margin: '0'
22
22
  },
23
23
  success: true,
24
24
  children: "".concat(data.length, " ").concat(data.length > 1 ? 'Tags' : 'Tag')
@@ -30,9 +30,8 @@ const columns = [{
30
30
  } = _ref;
31
31
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
32
32
  style: {
33
- padding: '8px',
34
33
  display: 'grid',
35
- gap: '8px'
34
+ gap: 'var(--spacing-xs)'
36
35
  },
37
36
  children: tag.map(_ref2 => {
38
37
  let {
@@ -43,7 +42,7 @@ const columns = [{
43
42
  style: {
44
43
  display: 'flex',
45
44
  alignItems: 'center',
46
- gap: '8px'
45
+ gap: 'var(--spacing-xs)'
47
46
  },
48
47
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_bs.BsFillTagFill, {}), "\xA0", name]
49
48
  }, id);
@@ -8,10 +8,15 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
8
  var _templateObject;
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
11
- const TableFooter = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n ", "\n"])), _ref => {
11
+ const TableFooter = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n ", "\n\n ", "\n"])), _ref => {
12
12
  let {
13
13
  center
14
14
  } = _ref;
15
15
  return center && "\n flex-direction: column;\n justify-content: center;\n ";
16
+ }, _ref2 => {
17
+ let {
18
+ enableRowDrag
19
+ } = _ref2;
20
+ return enableRowDrag && 'padding-right: calc(1.5rem + 0.5rem);';
16
21
  });
17
22
  var _default = exports.default = TableFooter;