qbs-react-grid 2.1.0 → 2.2.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.
Files changed (60) hide show
  1. package/dist/css/qbs-react-grid.css +1 -1
  2. package/dist/css/qbs-react-grid.min.css +1 -1
  3. package/dist/css/qbs-react-grid.min.css.map +1 -1
  4. package/es/Cell.js +2 -1
  5. package/es/Pagination.d.ts +3 -0
  6. package/es/Pagination.js +8 -3
  7. package/es/index.d.ts +1 -1
  8. package/es/less/qbs-table.less +148 -4
  9. package/es/qbsTable/QbsTable.js +56 -34
  10. package/es/qbsTable/TableCardList.js +47 -31
  11. package/es/qbsTable/Toolbar.js +15 -11
  12. package/es/qbsTable/commontypes.d.ts +5 -1
  13. package/es/qbsTable/labels.d.ts +48 -0
  14. package/es/qbsTable/labels.js +34 -0
  15. package/es/qbsTable/utilities/CardComponent.d.ts +2 -0
  16. package/es/qbsTable/utilities/CardComponent.js +7 -3
  17. package/es/qbsTable/utilities/CardMenuDropdown.d.ts +2 -0
  18. package/es/qbsTable/utilities/CardMenuDropdown.js +5 -2
  19. package/es/qbsTable/utilities/ColumShowHide.d.ts +2 -0
  20. package/es/qbsTable/utilities/ColumShowHide.js +9 -6
  21. package/es/qbsTable/utilities/SearchInput.d.ts +1 -0
  22. package/es/qbsTable/utilities/SearchInput.js +3 -1
  23. package/es/qbsTable/utilities/tablecalc.d.ts +1 -1
  24. package/es/qbsTable/utilities/tablecalc.js +7 -2
  25. package/lib/Cell.js +2 -1
  26. package/lib/Pagination.d.ts +3 -0
  27. package/lib/Pagination.js +8 -3
  28. package/lib/index.d.ts +1 -1
  29. package/lib/less/qbs-table.less +148 -4
  30. package/lib/qbsTable/QbsTable.js +56 -34
  31. package/lib/qbsTable/TableCardList.js +47 -31
  32. package/lib/qbsTable/Toolbar.js +15 -11
  33. package/lib/qbsTable/commontypes.d.ts +5 -1
  34. package/lib/qbsTable/labels.d.ts +48 -0
  35. package/lib/qbsTable/labels.js +42 -0
  36. package/lib/qbsTable/utilities/CardComponent.d.ts +2 -0
  37. package/lib/qbsTable/utilities/CardComponent.js +7 -3
  38. package/lib/qbsTable/utilities/CardMenuDropdown.d.ts +2 -0
  39. package/lib/qbsTable/utilities/CardMenuDropdown.js +5 -2
  40. package/lib/qbsTable/utilities/ColumShowHide.d.ts +2 -0
  41. package/lib/qbsTable/utilities/ColumShowHide.js +9 -6
  42. package/lib/qbsTable/utilities/SearchInput.d.ts +1 -0
  43. package/lib/qbsTable/utilities/SearchInput.js +3 -1
  44. package/lib/qbsTable/utilities/tablecalc.d.ts +1 -1
  45. package/lib/qbsTable/utilities/tablecalc.js +7 -2
  46. package/package.json +1 -1
  47. package/src/Cell.tsx +3 -1
  48. package/src/Pagination.tsx +10 -3
  49. package/src/index.ts +1 -1
  50. package/src/less/qbs-table.less +148 -4
  51. package/src/qbsTable/QbsTable.tsx +42 -9
  52. package/src/qbsTable/TableCardList.tsx +31 -7
  53. package/src/qbsTable/Toolbar.tsx +17 -10
  54. package/src/qbsTable/commontypes.ts +7 -0
  55. package/src/qbsTable/labels.ts +58 -0
  56. package/src/qbsTable/utilities/CardComponent.tsx +7 -2
  57. package/src/qbsTable/utilities/CardMenuDropdown.tsx +10 -2
  58. package/src/qbsTable/utilities/ColumShowHide.tsx +10 -6
  59. package/src/qbsTable/utilities/SearchInput.tsx +3 -1
  60. package/src/qbsTable/utilities/tablecalc.ts +8 -2
@@ -11,7 +11,9 @@ var _ColumnGroup = _interopRequireDefault(require("../ColumnGroup"));
11
11
  var _HeaderCell = _interopRequireDefault(require("../HeaderCell"));
12
12
  var _Pagination = _interopRequireDefault(require("../Pagination"));
13
13
  var _Table = _interopRequireDefault(require("../Table"));
14
+ var _isRTL = _interopRequireDefault(require("../utils/isRTL"));
14
15
  var _useResponsiveStore = _interopRequireDefault(require("../utils/useResponsiveStore"));
16
+ var _labels = require("./labels");
15
17
  var _CustomTableCell = require("./CustomTableCell");
16
18
  var _Toolbar = _interopRequireDefault(require("./Toolbar"));
17
19
  var _CardComponent = _interopRequireDefault(require("./utilities/CardComponent"));
@@ -71,6 +73,7 @@ var QbsTable = function QbsTable(_ref) {
71
73
  _ref$actionProps = _ref.actionProps,
72
74
  actionProps = _ref$actionProps === void 0 ? [] : _ref$actionProps,
73
75
  theme = _ref.theme,
76
+ rtlProp = _ref.rtl,
74
77
  handleMenuActions = _ref.handleMenuActions,
75
78
  onRowClick = _ref.onRowClick,
76
79
  expandedRowKeys = _ref.expandedRowKeys,
@@ -133,7 +136,11 @@ var QbsTable = function QbsTable(_ref) {
133
136
  rowHeight = _ref.rowHeight,
134
137
  isFullScreen = _ref.isFullScreen,
135
138
  _ref$showHeader = _ref.showHeader,
136
- showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader;
139
+ showHeader = _ref$showHeader === void 0 ? true : _ref$showHeader,
140
+ labelsProp = _ref.labels;
141
+ var labels = (0, _react.useMemo)(function () {
142
+ return (0, _labels.mergeLabels)(labelsProp);
143
+ }, [labelsProp]);
137
144
  var _useState = (0, _react.useState)(false),
138
145
  loading = _useState[0],
139
146
  setLoading = _useState[1];
@@ -144,9 +151,10 @@ var QbsTable = function QbsTable(_ref) {
144
151
  checkedKeys = _useState3[0],
145
152
  setCheckedKeys = _useState3[1];
146
153
  var dataTheme = (0, _react.useMemo)(function () {
147
- var _localStorage$getItem;
148
- return (_localStorage$getItem = localStorage.getItem('theme')) != null ? _localStorage$getItem : theme;
154
+ var _ref2;
155
+ return (_ref2 = theme != null ? theme : typeof localStorage !== 'undefined' ? localStorage.getItem('theme') : null) != null ? _ref2 : 'light';
149
156
  }, [theme]);
157
+ var rtl = rtlProp != null ? rtlProp : (0, _isRTL["default"])();
150
158
  var _useState4 = (0, _react.useState)(false),
151
159
  isOpen = _useState4[0],
152
160
  setIsOpen = _useState4[1];
@@ -266,7 +274,7 @@ var QbsTable = function QbsTable(_ref) {
266
274
 
267
275
  // useEffect(() => {
268
276
  // }, [columns]);
269
- var handleClear = function handleClear(_ref2) {
277
+ var handleClear = function handleClear(_ref3) {
270
278
  setCheckedKeys([]);
271
279
  handleChecked([]);
272
280
  };
@@ -301,12 +309,19 @@ var QbsTable = function QbsTable(_ref) {
301
309
  fullWidthView: fullWidthView,
302
310
  setTableFullView: setTableFullView,
303
311
  setRowViewToggle: setRowViewToggle,
304
- isFullScreen: isFullScreen
312
+ isFullScreen: isFullScreen,
313
+ labels: labels
305
314
  };
315
+ (0, _react.useEffect)(function () {
316
+ if (!dataTheme || typeof document === 'undefined') return;
317
+ document.body.setAttribute('data-theme', dataTheme === 'dark' ? 'dark' : 'light');
318
+ document.documentElement.dataset.theme = dataTheme;
319
+ }, [dataTheme]);
306
320
  var themeToggle = (0, _react.useMemo)(function () {
307
- return document.getElementById('themeToggle');
321
+ return typeof document !== 'undefined' ? document.getElementById('themeToggle') : null;
308
322
  }, []);
309
323
  (0, _react.useEffect)(function () {
324
+ if (theme || typeof document === 'undefined') return;
310
325
  var handleThemeToggle = function handleThemeToggle() {
311
326
  if (themeToggle !== null && themeToggle !== void 0 && themeToggle.checked) {
312
327
  document.body.setAttribute('data-theme', 'dark');
@@ -328,7 +343,7 @@ var QbsTable = function QbsTable(_ref) {
328
343
  themeToggle === null || themeToggle === void 0 ? void 0 : themeToggle.removeEventListener('change', handleThemeToggle);
329
344
  document.removeEventListener('DOMContentLoaded', handleDOMContentLoaded);
330
345
  };
331
- }, [themeToggle]);
346
+ }, [theme, themeToggle]);
332
347
  var handleExpanded = (0, _react.useCallback)(function (rowData) {
333
348
  var keyValue = dataRowKey;
334
349
  var key = rowData[keyValue];
@@ -504,26 +519,26 @@ var QbsTable = function QbsTable(_ref) {
504
519
  // [columns, dataTheme]
505
520
  // );
506
521
  var columnsRendered = (0, _react.useMemo)(function () {
507
- return (columns != null ? columns : []).map(function (_ref3) {
508
- var title = _ref3.title,
509
- field = _ref3.field,
510
- resizable = _ref3.resizable,
511
- sortable = _ref3.sortable,
512
- colWidth = _ref3.colWidth,
513
- align = _ref3.align,
514
- grouped = _ref3.grouped,
515
- groupHeader = _ref3.groupHeader,
516
- fixed = _ref3.fixed,
517
- children = _ref3.children,
518
- customCell = _ref3.customCell,
519
- renderCell = _ref3.renderCell,
520
- isVisible = _ref3.isVisible,
521
- link = _ref3.link,
522
- getPath = _ref3.getPath,
523
- rowClick = _ref3.rowClick,
524
- sortKey = _ref3.sortKey,
525
- type = _ref3.type,
526
- hideLink = _ref3.hideLink;
522
+ return (columns != null ? columns : []).map(function (_ref4) {
523
+ var title = _ref4.title,
524
+ field = _ref4.field,
525
+ resizable = _ref4.resizable,
526
+ sortable = _ref4.sortable,
527
+ colWidth = _ref4.colWidth,
528
+ align = _ref4.align,
529
+ grouped = _ref4.grouped,
530
+ groupHeader = _ref4.groupHeader,
531
+ fixed = _ref4.fixed,
532
+ children = _ref4.children,
533
+ customCell = _ref4.customCell,
534
+ renderCell = _ref4.renderCell,
535
+ isVisible = _ref4.isVisible,
536
+ link = _ref4.link,
537
+ getPath = _ref4.getPath,
538
+ rowClick = _ref4.rowClick,
539
+ sortKey = _ref4.sortKey,
540
+ type = _ref4.type,
541
+ hideLink = _ref4.hideLink;
527
542
  return isVisible ? grouped ? /*#__PURE__*/_react["default"].createElement(_ColumnGroup["default"], {
528
543
  header: groupHeader,
529
544
  fixed: fixed,
@@ -605,7 +620,8 @@ var QbsTable = function QbsTable(_ref) {
605
620
  };
606
621
  return /*#__PURE__*/_react["default"].createElement("div", {
607
622
  className: "qbs-table " + classes.tableContainerClass,
608
- "data-theme": dataTheme
623
+ "data-theme": dataTheme,
624
+ dir: rtl ? 'rtl' : 'ltr'
609
625
  }, toolbar && /*#__PURE__*/_react["default"].createElement(_Toolbar["default"], toolbarProps), /*#__PURE__*/_react["default"].createElement("div", {
610
626
  className: "qbs-table-border-wrap"
611
627
  }, tableViewToggle ? /*#__PURE__*/_react["default"].createElement(_Table["default"], {
@@ -613,6 +629,7 @@ var QbsTable = function QbsTable(_ref) {
613
629
  key: tableKey + REFRESH_KEY,
614
630
  tableKey: tableKey,
615
631
  data: data,
632
+ rtl: rtl,
616
633
  tableBodyRef: tableBodyRef,
617
634
  dataTheme: dataTheme,
618
635
  wordWrap: wordWrap,
@@ -633,7 +650,7 @@ var QbsTable = function QbsTable(_ref) {
633
650
  bordered: bordered,
634
651
  renderEmpty: function renderEmpty(info) {
635
652
  return _renderEmpty ? _renderEmpty(info) : /*#__PURE__*/_react["default"].createElement(_empty["default"], {
636
- title: emptyTitle != null ? emptyTitle : 'No Data Found',
653
+ title: emptyTitle != null ? emptyTitle : labels.noDataFound,
637
654
  subtitle: emptySubTitle
638
655
  });
639
656
  },
@@ -739,7 +756,8 @@ var QbsTable = function QbsTable(_ref) {
739
756
  setViewMode: setViewMode,
740
757
  setIsOpen: setIsOpen,
741
758
  handleResetColumns: handleResetColumns,
742
- handleColumnToggle: handleColumnToggle
759
+ handleColumnToggle: handleColumnToggle,
760
+ labels: labels
743
761
  })), /*#__PURE__*/_react["default"].createElement(_Cell["default"], null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
744
762
  width: 40,
745
763
  fixed: "right"
@@ -758,7 +776,8 @@ var QbsTable = function QbsTable(_ref) {
758
776
  isOpen: isOpen,
759
777
  setIsOpen: setIsOpen,
760
778
  handleResetColumns: handleResetColumns,
761
- handleColumnToggle: handleColumnToggle
779
+ handleColumnToggle: handleColumnToggle,
780
+ labels: labels
762
781
  })), /*#__PURE__*/_react["default"].createElement(_CustomTableCell.ActionCell, {
763
782
  tableBodyRef: tableBodyRef,
764
783
  dropType: dropType,
@@ -777,7 +796,7 @@ var QbsTable = function QbsTable(_ref) {
777
796
  }, ((data === null || data === void 0 ? void 0 : data.length) === 0 || !data) && !isLoading && /*#__PURE__*/_react["default"].createElement("div", {
778
797
  className: "flex flex-col gap-2 p-2 mt-6 card-empty-container"
779
798
  }, /*#__PURE__*/_react["default"].createElement(_empty["default"], {
780
- title: emptyTitle != null ? emptyTitle : 'No Data Found',
799
+ title: emptyTitle != null ? emptyTitle : labels.noDataFound,
781
800
  subtitle: emptySubTitle
782
801
  })), isLoading ? handleCustomCardLoader ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, handleCustomCardLoader()) : /*#__PURE__*/_react["default"].createElement("div", {
783
802
  className: "flex flex-col gap-2 p-2"
@@ -792,10 +811,13 @@ var QbsTable = function QbsTable(_ref) {
792
811
  childDetailHeading: childDetailHeading,
793
812
  columns: columns,
794
813
  tableBodyRef: tableBodyRef,
795
- actionProps: actionProps
814
+ actionProps: actionProps,
815
+ labels: labels
796
816
  }));
797
817
  })), /*#__PURE__*/_react["default"].createElement("div", null, pagination && (data === null || data === void 0 ? void 0 : data.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Pagination["default"], {
798
- paginationProps: paginationProps
818
+ paginationProps: paginationProps,
819
+ labels: labels,
820
+ dataTheme: dataTheme
799
821
  }))));
800
822
  };
801
823
  var _default = QbsTable;
@@ -11,6 +11,7 @@ var _ColumnGroup = _interopRequireDefault(require("../ColumnGroup"));
11
11
  var _HeaderCell = _interopRequireDefault(require("../HeaderCell"));
12
12
  var _Pagination = _interopRequireDefault(require("../Pagination"));
13
13
  var _Table = _interopRequireDefault(require("../Table"));
14
+ var _labels = require("./labels");
14
15
  var _CustomTableCell = require("./CustomTableCell");
15
16
  var _Toolbar = _interopRequireDefault(require("./Toolbar"));
16
17
  var _ColumShowHide = _interopRequireDefault(require("./utilities/ColumShowHide"));
@@ -99,7 +100,11 @@ var QbsTable = function QbsTable(_ref) {
99
100
  emptySubTitle = _ref.emptySubTitle,
100
101
  emptyTitle = _ref.emptyTitle,
101
102
  _ref$dropType = _ref.dropType,
102
- dropType = _ref$dropType === void 0 ? 'horizontal' : _ref$dropType;
103
+ dropType = _ref$dropType === void 0 ? 'horizontal' : _ref$dropType,
104
+ labelsProp = _ref.labels;
105
+ var labels = (0, _react.useMemo)(function () {
106
+ return (0, _labels.mergeLabels)(labelsProp);
107
+ }, [labelsProp]);
103
108
  var _useState = (0, _react.useState)(false),
104
109
  loading = _useState[0],
105
110
  setLoading = _useState[1];
@@ -110,8 +115,8 @@ var QbsTable = function QbsTable(_ref) {
110
115
  checkedKeys = _useState3[0],
111
116
  setCheckedKeys = _useState3[1];
112
117
  var dataTheme = (0, _react.useMemo)(function () {
113
- var _localStorage$getItem;
114
- return (_localStorage$getItem = localStorage.getItem('theme')) != null ? _localStorage$getItem : theme;
118
+ var _ref2;
119
+ return (_ref2 = theme != null ? theme : typeof localStorage !== 'undefined' ? localStorage.getItem('theme') : null) != null ? _ref2 : 'light';
115
120
  }, [theme]);
116
121
  var _useState4 = (0, _react.useState)(false),
117
122
  isOpen = _useState4[0],
@@ -214,7 +219,7 @@ var QbsTable = function QbsTable(_ref) {
214
219
  // useEffect(() => {
215
220
  // }, [columns]);
216
221
 
217
- var handleClear = function handleClear(_ref2) {
222
+ var handleClear = function handleClear(_ref3) {
218
223
  setCheckedKeys([]);
219
224
  handleChecked([]);
220
225
  };
@@ -240,12 +245,19 @@ var QbsTable = function QbsTable(_ref) {
240
245
  onSelect: handleClear,
241
246
  handleColumnToggle: handleColumnToggle,
242
247
  dataLength: data === null || data === void 0 ? void 0 : data.length,
243
- searchPlaceholder: searchPlaceholder
248
+ searchPlaceholder: searchPlaceholder,
249
+ labels: labels
244
250
  };
251
+ (0, _react.useEffect)(function () {
252
+ if (!dataTheme || typeof document === 'undefined') return;
253
+ document.body.setAttribute('data-theme', dataTheme === 'dark' ? 'dark' : 'light');
254
+ document.documentElement.dataset.theme = dataTheme;
255
+ }, [dataTheme]);
245
256
  var themeToggle = (0, _react.useMemo)(function () {
246
- return document.getElementById('themeToggle');
257
+ return typeof document !== 'undefined' ? document.getElementById('themeToggle') : null;
247
258
  }, []);
248
259
  (0, _react.useEffect)(function () {
260
+ if (theme || typeof document === 'undefined') return;
249
261
  var handleThemeToggle = function handleThemeToggle() {
250
262
  if (themeToggle !== null && themeToggle !== void 0 && themeToggle.checked) {
251
263
  document.body.setAttribute('data-theme', 'dark');
@@ -267,7 +279,7 @@ var QbsTable = function QbsTable(_ref) {
267
279
  themeToggle === null || themeToggle === void 0 ? void 0 : themeToggle.removeEventListener('change', handleThemeToggle);
268
280
  document.removeEventListener('DOMContentLoaded', handleDOMContentLoaded);
269
281
  };
270
- }, [themeToggle]);
282
+ }, [theme, themeToggle]);
271
283
  var handleExpanded = (0, _react.useCallback)(function (rowData) {
272
284
  var keyValue = dataRowKey;
273
285
  var key = rowData[keyValue];
@@ -327,26 +339,26 @@ var QbsTable = function QbsTable(_ref) {
327
339
  }) ? true : false;
328
340
  };
329
341
  var columnsRendered = (0, _react.useMemo)(function () {
330
- return (columns != null ? columns : []).map(function (_ref3) {
331
- var title = _ref3.title,
332
- field = _ref3.field,
333
- resizable = _ref3.resizable,
334
- sortable = _ref3.sortable,
335
- colWidth = _ref3.colWidth,
336
- align = _ref3.align,
337
- grouped = _ref3.grouped,
338
- groupHeader = _ref3.groupHeader,
339
- fixed = _ref3.fixed,
340
- children = _ref3.children,
341
- customCell = _ref3.customCell,
342
- renderCell = _ref3.renderCell,
343
- isVisible = _ref3.isVisible,
344
- link = _ref3.link,
345
- getPath = _ref3.getPath,
346
- rowClick = _ref3.rowClick,
347
- sortKey = _ref3.sortKey,
348
- type = _ref3.type,
349
- hideLink = _ref3.hideLink;
342
+ return (columns != null ? columns : []).map(function (_ref4) {
343
+ var title = _ref4.title,
344
+ field = _ref4.field,
345
+ resizable = _ref4.resizable,
346
+ sortable = _ref4.sortable,
347
+ colWidth = _ref4.colWidth,
348
+ align = _ref4.align,
349
+ grouped = _ref4.grouped,
350
+ groupHeader = _ref4.groupHeader,
351
+ fixed = _ref4.fixed,
352
+ children = _ref4.children,
353
+ customCell = _ref4.customCell,
354
+ renderCell = _ref4.renderCell,
355
+ isVisible = _ref4.isVisible,
356
+ link = _ref4.link,
357
+ getPath = _ref4.getPath,
358
+ rowClick = _ref4.rowClick,
359
+ sortKey = _ref4.sortKey,
360
+ type = _ref4.type,
361
+ hideLink = _ref4.hideLink;
350
362
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, isVisible && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, grouped ? /*#__PURE__*/_react["default"].createElement(_ColumnGroup["default"], {
351
363
  header: groupHeader,
352
364
  fixed: fixed,
@@ -438,7 +450,7 @@ var QbsTable = function QbsTable(_ref) {
438
450
  bordered: bordered,
439
451
  renderEmpty: function renderEmpty(info) {
440
452
  return _renderEmpty ? _renderEmpty(info) : /*#__PURE__*/_react["default"].createElement(_empty["default"], {
441
- title: emptyTitle != null ? emptyTitle : 'No Data Found',
453
+ title: emptyTitle != null ? emptyTitle : labels.noDataFound,
442
454
  subtitle: emptySubTitle
443
455
  });
444
456
  },
@@ -542,7 +554,8 @@ var QbsTable = function QbsTable(_ref) {
542
554
  tableHeight: height,
543
555
  setIsOpen: setIsOpen,
544
556
  handleResetColumns: handleResetColumns,
545
- handleColumnToggle: handleColumnToggle
557
+ handleColumnToggle: handleColumnToggle,
558
+ labels: labels
546
559
  })), /*#__PURE__*/_react["default"].createElement(_Cell["default"], null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
547
560
  width: 40,
548
561
  fixed: "right"
@@ -559,7 +572,8 @@ var QbsTable = function QbsTable(_ref) {
559
572
  isOpen: isOpen,
560
573
  setIsOpen: setIsOpen,
561
574
  handleResetColumns: handleResetColumns,
562
- handleColumnToggle: handleColumnToggle
575
+ handleColumnToggle: handleColumnToggle,
576
+ labels: labels
563
577
  })), /*#__PURE__*/_react["default"].createElement(_CustomTableCell.ActionCell, {
564
578
  tableBodyRef: tableBodyRef,
565
579
  actionProps: actionProps,
@@ -568,7 +582,9 @@ var QbsTable = function QbsTable(_ref) {
568
582
  handleMenuActions: handleMenuActions,
569
583
  dataTheme: dataTheme
570
584
  }))), /*#__PURE__*/_react["default"].createElement("div", null, pagination && (data === null || data === void 0 ? void 0 : data.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Pagination["default"], {
571
- paginationProps: paginationProps
585
+ paginationProps: paginationProps,
586
+ labels: labels,
587
+ dataTheme: dataTheme
572
588
  }))));
573
589
  };
574
590
  var _default = QbsTable;
@@ -8,12 +8,13 @@ var _useResponsiveStore = _interopRequireDefault(require("../utils/useResponsive
8
8
  var _debounce = _interopRequireDefault(require("./utilities/debounce"));
9
9
  var _icons = require("./utilities/icons");
10
10
  var _SearchInput = _interopRequireDefault(require("./utilities/SearchInput"));
11
+ var _labels = require("./labels");
11
12
  var _tablecalc = require("./utilities/tablecalc");
12
13
  var _ToolTip = _interopRequireDefault(require("./utilities/ToolTip"));
13
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
16
  var ToolBar = function ToolBar(_ref) {
16
- var _paginationProps$tota, _paginationProps$rows, _paginationProps$curr;
17
+ var _checkedKeys$length, _paginationProps$tota, _paginationProps$rows, _paginationProps$curr;
17
18
  var pagination = _ref.pagination,
18
19
  _ref$paginationProps = _ref.paginationProps,
19
20
  paginationProps = _ref$paginationProps === void 0 ? {} : _ref$paginationProps,
@@ -44,7 +45,9 @@ var ToolBar = function ToolBar(_ref) {
44
45
  setTableFullView = _ref.setTableFullView,
45
46
  setRowViewToggle = _ref.setRowViewToggle,
46
47
  _ref$isFullScreen = _ref.isFullScreen,
47
- isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen;
48
+ isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen,
49
+ labelsProp = _ref.labels;
50
+ var labels = (0, _labels.mergeLabels)(labelsProp);
48
51
  var debouncedOnSearch = (0, _react.useCallback)((0, _debounce["default"])(onSearch != null ? onSearch : function () {}, 1000), [onSearch]);
49
52
  var _useState = (0, _react.useState)(searchValue),
50
53
  searchParam = _useState[0],
@@ -93,7 +96,8 @@ var ToolBar = function ToolBar(_ref) {
93
96
  }, /*#__PURE__*/_react["default"].createElement("div", {
94
97
  className: "qbs-table-primary-filter"
95
98
  }, search && /*#__PURE__*/_react["default"].createElement(_SearchInput["default"], {
96
- placeholder: searchPlaceholder != null ? searchPlaceholder : 'Search',
99
+ placeholder: searchPlaceholder != null ? searchPlaceholder : labels.search,
100
+ searchAriaLabel: labels.searchAriaLabel,
97
101
  handleChange: handleChange,
98
102
  handleSearch: handleSearch,
99
103
  searchValue: searchParam
@@ -121,7 +125,7 @@ var ToolBar = function ToolBar(_ref) {
121
125
  className: "flex gap-2 table_cell_style"
122
126
  }, /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
123
127
  tableBodyRef: toolbarRef,
124
- title: 'Switch to Default View'
128
+ title: labels.switchToDefaultView
125
129
  }, /*#__PURE__*/_react["default"].createElement("div", {
126
130
  onClick: function onClick() {
127
131
  return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(true);
@@ -130,7 +134,7 @@ var ToolBar = function ToolBar(_ref) {
130
134
  className: "" + (defaultRowView ? 'active' : '')
131
135
  }))), /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
132
136
  tableBodyRef: toolbarRef,
133
- title: 'Switch to Relaxed View'
137
+ title: labels.switchToRelaxedView
134
138
  }, /*#__PURE__*/_react["default"].createElement("div", {
135
139
  onClick: function onClick() {
136
140
  return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(false);
@@ -141,7 +145,7 @@ var ToolBar = function ToolBar(_ref) {
141
145
  className: " table_full_width"
142
146
  }, /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
143
147
  tableBodyRef: toolbarRef,
144
- title: 'Switch to Full Screen'
148
+ title: labels.switchToFullScreen
145
149
  }, /*#__PURE__*/_react["default"].createElement("div", {
146
150
  onClick: function onClick() {
147
151
  return setTableFullView === null || setTableFullView === void 0 ? void 0 : setTableFullView(!fullWidthView);
@@ -152,7 +156,7 @@ var ToolBar = function ToolBar(_ref) {
152
156
  className: "qbs-table-top-icons flex gap-2"
153
157
  }, /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
154
158
  tableBodyRef: toolbarRef,
155
- title: 'Switch to Table View'
159
+ title: labels.switchToTableView
156
160
  }, /*#__PURE__*/_react["default"].createElement("div", {
157
161
  onClick: function onClick() {
158
162
  return setTableViewToggle === null || setTableViewToggle === void 0 ? void 0 : setTableViewToggle(true);
@@ -167,7 +171,7 @@ var ToolBar = function ToolBar(_ref) {
167
171
  }
168
172
  }, /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
169
173
  tableBodyRef: toolbarRef,
170
- title: 'Switch to Card View'
174
+ title: labels.switchToCardView
171
175
  }, /*#__PURE__*/_react["default"].createElement(_icons.CardView, {
172
176
  className: "" + (!tableViewToggle ? 'active' : '')
173
177
  }))))))), isMobile && isOpen && /*#__PURE__*/_react["default"].createElement("div", {
@@ -180,14 +184,14 @@ var ToolBar = function ToolBar(_ref) {
180
184
  className: "qbs-table-toolbar-sub-container-start"
181
185
  }, /*#__PURE__*/_react["default"].createElement("div", {
182
186
  className: "selected-row"
183
- }, "Selected Items(" + (checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) + ") "), /*#__PURE__*/_react["default"].createElement("div", {
187
+ }, (0, _labels.formatSelectedItems)(labels.selectedItems, (_checkedKeys$length = checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) != null ? _checkedKeys$length : 0)), /*#__PURE__*/_react["default"].createElement("div", {
184
188
  className: "selected-row-action"
185
189
  }, /*#__PURE__*/_react["default"].createElement("button", {
186
190
  className: "btn",
187
191
  onClick: function onClick() {
188
192
  return onSelect === null || onSelect === void 0 ? void 0 : onSelect([]);
189
193
  }
190
- }, "Clear"), selectedRowActions === null || selectedRowActions === void 0 ? void 0 : selectedRowActions.map(function (actions, index) {
194
+ }, labels.clear), selectedRowActions === null || selectedRowActions === void 0 ? void 0 : selectedRowActions.map(function (actions, index) {
191
195
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, handleHide(actions) && /*#__PURE__*/_react["default"].createElement("button", {
192
196
  key: index.toString(),
193
197
  className: "btn " + (actions === null || actions === void 0 ? void 0 : actions.buttonClassName),
@@ -200,7 +204,7 @@ var ToolBar = function ToolBar(_ref) {
200
204
  }, actions === null || actions === void 0 ? void 0 : actions.icon), /*#__PURE__*/_react["default"].createElement("span", null, actions.actionTitle)));
201
205
  }))) : /*#__PURE__*/_react["default"].createElement("div", null, pagination && paginationProps && dataLength > 0 && /*#__PURE__*/_react["default"].createElement("div", {
202
206
  className: "rows-count"
203
- }, (0, _tablecalc.getRowDisplayRange)((_paginationProps$tota = paginationProps.total) != null ? _paginationProps$tota : 0, (_paginationProps$rows = paginationProps.rowsPerPage) != null ? _paginationProps$rows : 0, (_paginationProps$curr = paginationProps.currentPage) != null ? _paginationProps$curr : 0)))));
207
+ }, (0, _tablecalc.getRowDisplayRange)((_paginationProps$tota = paginationProps.total) != null ? _paginationProps$tota : 0, (_paginationProps$rows = paginationProps.rowsPerPage) != null ? _paginationProps$rows : 0, (_paginationProps$curr = paginationProps.currentPage) != null ? _paginationProps$curr : 0, labels.showingRange)))));
204
208
  };
205
209
  var _default = ToolBar;
206
210
  exports["default"] = _default;
@@ -1,4 +1,6 @@
1
1
  import React, { ReactElement, ReactNode } from 'react';
2
+ import type { QbsTableLabels } from './labels';
3
+ export type { QbsTableLabels };
2
4
  interface Content {
3
5
  cell: ReactNode | string;
4
6
  toolTip?: string;
@@ -69,6 +71,7 @@ export interface QbsTableProps {
69
71
  searchValue?: string;
70
72
  handleSearchValue?: (value?: string) => void;
71
73
  theme?: string;
74
+ rtl?: boolean;
72
75
  onRowClick?: (data: any) => void;
73
76
  cellBordered?: boolean;
74
77
  bordered?: boolean;
@@ -89,6 +92,7 @@ export interface QbsTableProps {
89
92
  advancefilter?: ReactElement | ReactNode;
90
93
  tableHeaderActions?: ReactElement | ReactNode;
91
94
  searchPlaceholder?: string;
95
+ labels?: QbsTableLabels;
92
96
  selectedRowActions?: {
93
97
  actionTitle?: string;
94
98
  action: (checked: (number | string)[]) => void;
@@ -167,6 +171,7 @@ export interface QbsTableToolbarProps {
167
171
  dataLength: number;
168
172
  headerHeight?: number;
169
173
  searchPlaceholder?: string;
174
+ labels?: QbsTableLabels;
170
175
  tableView?: boolean;
171
176
  enableTableToggle?: boolean;
172
177
  tableViewToggle?: boolean;
@@ -187,4 +192,3 @@ export interface QbsTableToolbarProps {
187
192
  setRowViewToggle?: (value: boolean) => void;
188
193
  isFullScreen?: boolean;
189
194
  }
190
- export {};
@@ -0,0 +1,48 @@
1
+ export interface QbsTableLabels {
2
+ search?: string;
3
+ searchAriaLabel?: string;
4
+ clear?: string;
5
+ selectedItems?: string;
6
+ switchToDefaultView?: string;
7
+ switchToRelaxedView?: string;
8
+ switchToFullScreen?: string;
9
+ switchToTableView?: string;
10
+ switchToCardView?: string;
11
+ noDataFound?: string;
12
+ showingRange?: (start: number, end: number, total: number) => string;
13
+ itemsPerPage?: string;
14
+ fixedColumns?: string;
15
+ visibleColumns?: string;
16
+ availableColumns?: string;
17
+ resetToDefault?: string;
18
+ save?: string;
19
+ viewMore?: string;
20
+ viewLess?: string;
21
+ actions?: string;
22
+ }
23
+ export declare const DEFAULT_QBS_TABLE_LABELS: Required<Omit<QbsTableLabels, 'showingRange'>> & {
24
+ showingRange: (start: number, end: number, total: number) => string;
25
+ };
26
+ export declare const mergeLabels: (labels?: QbsTableLabels) => {
27
+ showingRange: (start: number, end: number, total: number) => string;
28
+ search: string;
29
+ searchAriaLabel: string;
30
+ clear: string;
31
+ selectedItems: string;
32
+ switchToDefaultView: string;
33
+ switchToRelaxedView: string;
34
+ switchToFullScreen: string;
35
+ switchToTableView: string;
36
+ switchToCardView: string;
37
+ noDataFound: string;
38
+ itemsPerPage: string;
39
+ fixedColumns: string;
40
+ visibleColumns: string;
41
+ availableColumns: string;
42
+ resetToDefault: string;
43
+ save: string;
44
+ viewMore: string;
45
+ viewLess: string;
46
+ actions: string;
47
+ };
48
+ export declare const formatSelectedItems: (selectedItemsLabel: string, count: number) => string;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.mergeLabels = exports.formatSelectedItems = exports.DEFAULT_QBS_TABLE_LABELS = void 0;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var DEFAULT_QBS_TABLE_LABELS = {
8
+ search: 'Search',
9
+ searchAriaLabel: 'Search',
10
+ clear: 'Clear',
11
+ selectedItems: 'Selected Items',
12
+ switchToDefaultView: 'Switch to Default View',
13
+ switchToRelaxedView: 'Switch to Relaxed View',
14
+ switchToFullScreen: 'Switch to Full Screen',
15
+ switchToTableView: 'Switch to Table View',
16
+ switchToCardView: 'Switch to Card View',
17
+ noDataFound: 'No Data Found',
18
+ showingRange: function showingRange(start, end, total) {
19
+ return "Showing " + start + " to " + end + " of " + total;
20
+ },
21
+ itemsPerPage: 'Items per page',
22
+ fixedColumns: 'FIXED COLUMNS',
23
+ visibleColumns: 'VISIBLE COLUMNS',
24
+ availableColumns: 'AVAILABLE COLUMNS',
25
+ resetToDefault: 'Reset to default',
26
+ save: 'Save',
27
+ viewMore: 'View More',
28
+ viewLess: 'View Less',
29
+ actions: 'Actions'
30
+ };
31
+ exports.DEFAULT_QBS_TABLE_LABELS = DEFAULT_QBS_TABLE_LABELS;
32
+ var mergeLabels = function mergeLabels(labels) {
33
+ var _labels$showingRange;
34
+ return (0, _extends2["default"])({}, DEFAULT_QBS_TABLE_LABELS, labels, {
35
+ showingRange: (_labels$showingRange = labels === null || labels === void 0 ? void 0 : labels.showingRange) != null ? _labels$showingRange : DEFAULT_QBS_TABLE_LABELS.showingRange
36
+ });
37
+ };
38
+ exports.mergeLabels = mergeLabels;
39
+ var formatSelectedItems = function formatSelectedItems(selectedItemsLabel, count) {
40
+ return selectedItemsLabel + "(" + count + ") ";
41
+ };
42
+ exports.formatSelectedItems = formatSelectedItems;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { QbsColumnProps } from '../commontypes';
3
+ import { type QbsTableLabels } from '../labels';
3
4
  type Props = {
4
5
  columns: QbsColumnProps[];
5
6
  data: any;
@@ -9,6 +10,7 @@ type Props = {
9
10
  handleMenuActions?: () => void;
10
11
  cardColumLimit?: number;
11
12
  childDetailHeading?: string;
13
+ labels?: QbsTableLabels;
12
14
  };
13
15
  declare const CardComponent: React.FC<Props>;
14
16
  export default CardComponent;
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _react = _interopRequireWildcard(require("react"));
7
+ var _labels = require("../labels");
7
8
  var _CardMenuDropdown = _interopRequireDefault(require("./CardMenuDropdown"));
8
9
  var _handleFormatCell = require("./handleFormatCell");
9
10
  var _icons = require("./icons");
@@ -22,7 +23,9 @@ var CardComponent = function CardComponent(_ref) {
22
23
  cardColumLimit = _ref$cardColumLimit === void 0 ? 5 : _ref$cardColumLimit,
23
24
  handleMenuActions = _ref.handleMenuActions,
24
25
  _ref$childDetailHeadi = _ref.childDetailHeading,
25
- childDetailHeading = _ref$childDetailHeadi === void 0 ? '' : _ref$childDetailHeadi;
26
+ childDetailHeading = _ref$childDetailHeadi === void 0 ? '' : _ref$childDetailHeadi,
27
+ labelsProp = _ref.labels;
28
+ var labels = (0, _labels.mergeLabels)(labelsProp);
26
29
  var _useState = (0, _react.useState)(false),
27
30
  viewMore = _useState[0],
28
31
  setViewMore = _useState[1];
@@ -71,10 +74,11 @@ var CardComponent = function CardComponent(_ref) {
71
74
  rowData: data,
72
75
  iconName: "more",
73
76
  rowIndex: index,
74
- handleMenuActions: handleMenuActions
77
+ handleMenuActions: handleMenuActions,
78
+ labels: labels
75
79
  })), columns.length > initialDisplayCount && /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
76
80
  tableBodyRef: useCardRef,
77
- title: viewMore ? ' View Less' : 'View More',
81
+ title: viewMore ? labels.viewLess : labels.viewMore,
78
82
  enabled: false
79
83
  }, /*#__PURE__*/_react["default"].createElement("button", {
80
84
  onClick: toggleViewMore,
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ActionProps } from '../commontypes';
3
+ import { type QbsTableLabels } from '../labels';
3
4
  type Props = {
4
5
  iconName: string;
5
6
  actionDropDown: ActionProps[];
@@ -8,6 +9,7 @@ type Props = {
8
9
  dataTheme?: string;
9
10
  tableBodyRef: React.RefObject<HTMLDivElement>;
10
11
  rowIndex?: number;
12
+ labels?: QbsTableLabels;
11
13
  };
12
14
  declare const CardMenuDropdown: React.FC<Props>;
13
15
  export default CardMenuDropdown;