qbs-react-grid 2.2.5 → 2.2.9

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 (57) 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/index.d.ts +2 -0
  5. package/es/index.js +2 -1
  6. package/es/less/qbs-table.less +58 -4
  7. package/es/qbsTable/CustomTableCell.js +27 -10
  8. package/es/qbsTable/QbsTable.js +42 -7
  9. package/es/qbsTable/TableCardList.js +40 -7
  10. package/es/qbsTable/Toolbar.js +87 -23
  11. package/es/qbsTable/commontypes.d.ts +19 -0
  12. package/es/qbsTable/labels.d.ts +25 -0
  13. package/es/qbsTable/labels.js +32 -0
  14. package/es/qbsTable/utilities/ColumShowHide.d.ts +3 -0
  15. package/es/qbsTable/utilities/ColumShowHide.js +112 -33
  16. package/es/qbsTable/utilities/VerticalDropDownMenu.d.ts +11 -0
  17. package/es/qbsTable/utilities/VerticalDropDownMenu.js +182 -0
  18. package/es/qbsTable/utilities/columnToggleCoordinator.d.ts +5 -0
  19. package/es/qbsTable/utilities/columnToggleCoordinator.js +9 -0
  20. package/es/qbsTable/utilities/icons.d.ts +3 -0
  21. package/es/qbsTable/utilities/icons.js +67 -3
  22. package/es/qbsTable/utilities/verticalMenuCoordinator.d.ts +5 -0
  23. package/es/qbsTable/utilities/verticalMenuCoordinator.js +9 -0
  24. package/lib/index.d.ts +2 -0
  25. package/lib/index.js +6 -2
  26. package/lib/less/qbs-table.less +58 -4
  27. package/lib/qbsTable/CustomTableCell.js +27 -10
  28. package/lib/qbsTable/QbsTable.js +42 -7
  29. package/lib/qbsTable/TableCardList.js +40 -7
  30. package/lib/qbsTable/Toolbar.js +85 -21
  31. package/lib/qbsTable/commontypes.d.ts +19 -0
  32. package/lib/qbsTable/labels.d.ts +25 -0
  33. package/lib/qbsTable/labels.js +40 -0
  34. package/lib/qbsTable/utilities/ColumShowHide.d.ts +3 -0
  35. package/lib/qbsTable/utilities/ColumShowHide.js +112 -32
  36. package/lib/qbsTable/utilities/VerticalDropDownMenu.d.ts +11 -0
  37. package/lib/qbsTable/utilities/VerticalDropDownMenu.js +190 -0
  38. package/lib/qbsTable/utilities/columnToggleCoordinator.d.ts +5 -0
  39. package/lib/qbsTable/utilities/columnToggleCoordinator.js +15 -0
  40. package/lib/qbsTable/utilities/icons.d.ts +3 -0
  41. package/lib/qbsTable/utilities/icons.js +72 -5
  42. package/lib/qbsTable/utilities/verticalMenuCoordinator.d.ts +5 -0
  43. package/lib/qbsTable/utilities/verticalMenuCoordinator.js +15 -0
  44. package/package.json +9 -1
  45. package/src/index.ts +6 -0
  46. package/src/less/qbs-table.less +58 -4
  47. package/src/qbsTable/CustomTableCell.tsx +28 -8
  48. package/src/qbsTable/QbsTable.tsx +32 -4
  49. package/src/qbsTable/TableCardList.tsx +30 -4
  50. package/src/qbsTable/Toolbar.tsx +99 -29
  51. package/src/qbsTable/commontypes.ts +20 -0
  52. package/src/qbsTable/labels.ts +55 -0
  53. package/src/qbsTable/utilities/ColumShowHide.tsx +170 -84
  54. package/src/qbsTable/utilities/VerticalDropDownMenu.tsx +216 -0
  55. package/src/qbsTable/utilities/columnToggleCoordinator.ts +14 -0
  56. package/src/qbsTable/utilities/icons.tsx +76 -3
  57. package/src/qbsTable/utilities/verticalMenuCoordinator.ts +14 -0
@@ -376,11 +376,17 @@
376
376
  gap: 10px;
377
377
  align-items: center;
378
378
  }
379
+ .qbs-table-settings-wrapper {
380
+ position: relative;
381
+ display: inline-flex;
382
+ align-items: center;
383
+ justify-content: center;
384
+ }
385
+
379
386
  .qbs-table-column-popup {
380
387
  position: fixed;
381
388
  padding: 8px;
382
- z-index: 999;
383
- right: 10px;
389
+ z-index: 10060;
384
390
  border-radius: 8px;
385
391
  background: #fff;
386
392
  box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15);
@@ -389,7 +395,6 @@
389
395
  display: flex;
390
396
  flex-direction: column;
391
397
  max-height: 500px;
392
- // overflow-y: auto;
393
398
  }
394
399
  .qbs-table-popup-container {
395
400
  max-width: 400px;
@@ -408,9 +413,37 @@
408
413
 
409
414
  .qbs-table-columns-container {
410
415
  display: flex;
416
+ flex-direction: row;
417
+ }
418
+
419
+ .qbs-table-column-popup--rtl .qbs-table-columns-container {
411
420
  flex-direction: row-reverse;
412
421
  }
413
422
 
423
+ .qbs-table-popup-footer {
424
+ display: flex;
425
+ flex-direction: row;
426
+ justify-content: space-between;
427
+ align-items: center;
428
+ gap: 8px;
429
+ padding: 4px 0 0;
430
+ }
431
+
432
+ .qbs-table-column-popup--rtl .qbs-table-popup-footer {
433
+ flex-direction: row-reverse;
434
+ }
435
+
436
+ .qbs-table-reset-link {
437
+ background: none;
438
+ border: none;
439
+ padding: 0;
440
+ cursor: pointer;
441
+ font-size: 13px;
442
+ font-weight: 500;
443
+ color: inherit;
444
+ text-decoration: none;
445
+ }
446
+
414
447
  .qbs-table-columns-label {
415
448
  display: flex;
416
449
  gap: 10px;
@@ -746,11 +779,32 @@
746
779
 
747
780
  .qbs-table-top-icons {
748
781
  color: #999696;
782
+ display: inline-flex;
783
+ align-items: center;
784
+ gap: 8px;
749
785
 
750
- .active{
786
+ .active {
751
787
  color: #EC6A17;
752
788
  }
753
789
  }
790
+
791
+ .qbs-row-switch-container {
792
+ display: inline-flex;
793
+ align-items: center;
794
+ gap: 8px;
795
+ }
796
+
797
+ .qbs-table-view-btn {
798
+ display: inline-flex;
799
+ align-items: center;
800
+ justify-content: center;
801
+ padding: 0;
802
+ margin: 0;
803
+ border: none;
804
+ background: transparent;
805
+ cursor: pointer;
806
+ color: inherit;
807
+ }
754
808
  .qbs-card-empty-wrapper {
755
809
  display: flex;
756
810
  justify-content: center;
@@ -10,10 +10,12 @@ var _reactRouterDom = require("react-router-dom");
10
10
  var _Cell = _interopRequireDefault(require("../Cell"));
11
11
  var _handleFormatCell = require("./utilities/handleFormatCell");
12
12
  var _menuDropDown = _interopRequireDefault(require("./utilities/menuDropDown"));
13
+ var _VerticalDropDownMenu = _interopRequireDefault(require("./utilities/VerticalDropDownMenu"));
13
14
  var _excluded = ["rowData", "onChange", "checkedKeys", "dataKey", "dataTheme"],
14
- _excluded2 = ["rowData", "dataKey", "expandedRowKeys", "onChange"],
15
- _excluded3 = ["rowData", "renderCell", "toolTip", "hideLink", "dataKey", "onChange", "rowClick", "type", "path", "link"],
16
- _excluded4 = ["rowData", "getToolTip", "dataKey", "onChange", "rowClick", "getIcon", "path", "link"];
15
+ _excluded2 = ["rowData", "handleMenuActions", "dataTheme", "actionProps", "tableBodyRef", "rowIndex", "dropType"],
16
+ _excluded3 = ["rowData", "dataKey", "expandedRowKeys", "onChange"],
17
+ _excluded4 = ["rowData", "renderCell", "toolTip", "hideLink", "dataKey", "onChange", "rowClick", "type", "path", "link"],
18
+ _excluded5 = ["rowData", "getToolTip", "dataKey", "onChange", "rowClick", "getIcon", "path", "link"];
17
19
  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); }
18
20
  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; }
19
21
  var CHECKBOX_LINE_HEIGHT = '36px';
@@ -61,8 +63,21 @@ var ActionCell = /*#__PURE__*/_react["default"].memo(function (_ref2) {
61
63
  dataTheme = _ref2.dataTheme,
62
64
  actionProps = _ref2.actionProps,
63
65
  tableBodyRef = _ref2.tableBodyRef,
64
- rowIndex = _ref2.rowIndex;
65
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_menuDropDown["default"], {
66
+ rowIndex = _ref2.rowIndex,
67
+ dropType = _ref2.dropType,
68
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref2, _excluded2);
69
+ return /*#__PURE__*/_react["default"].createElement(_Cell["default"], (0, _extends2["default"])({}, props, {
70
+ dataTheme: dataTheme,
71
+ style: {
72
+ padding: 0
73
+ }
74
+ }), dropType === 'vertical' ? /*#__PURE__*/_react["default"].createElement(_VerticalDropDownMenu["default"], {
75
+ tableBodyRef: tableBodyRef,
76
+ actionDropDown: actionProps,
77
+ rowData: rowData,
78
+ rowIndex: rowIndex,
79
+ handleMenuActions: handleMenuActions
80
+ }) : /*#__PURE__*/_react["default"].createElement(_menuDropDown["default"], {
66
81
  tableBodyRef: tableBodyRef,
67
82
  actionDropDown: actionProps,
68
83
  rowData: rowData,
@@ -77,8 +92,10 @@ var ExpandCell = /*#__PURE__*/_react["default"].memo(function (_ref3) {
77
92
  dataKey = _ref3.dataKey,
78
93
  expandedRowKeys = _ref3.expandedRowKeys,
79
94
  onChange = _ref3.onChange,
80
- props = (0, _objectWithoutPropertiesLoose2["default"])(_ref3, _excluded2);
95
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref3, _excluded3);
81
96
  return /*#__PURE__*/_react["default"].createElement(_Cell["default"], props, /*#__PURE__*/_react["default"].createElement("button", {
97
+ type: "button",
98
+ className: "qbs-table-expand-btn",
82
99
  onClick: function onClick() {
83
100
  onChange(rowData);
84
101
  }
@@ -94,7 +111,7 @@ var ExpandCell = /*#__PURE__*/_react["default"].memo(function (_ref3) {
94
111
  fillRule: "evenodd",
95
112
  clipRule: "evenodd",
96
113
  d: "M0.792893 0.292893C1.18342 -0.097631 1.81658 -0.097631 2.20711 0.292893L5.5 3.58579L8.79289 0.292893C9.18342 -0.0976311 9.81658 -0.0976311 10.2071 0.292893C10.5976 0.683417 10.5976 1.31658 10.2071 1.70711L6.20711 5.70711C5.81658 6.09763 5.18342 6.09763 4.79289 5.70711L0.792893 1.70711C0.402369 1.31658 0.402369 0.683417 0.792893 0.292893Z",
97
- fill: "#313131"
114
+ fill: "currentColor"
98
115
  })) : /*#__PURE__*/_react["default"].createElement("svg", {
99
116
  width: "7",
100
117
  height: "10",
@@ -105,7 +122,7 @@ var ExpandCell = /*#__PURE__*/_react["default"].memo(function (_ref3) {
105
122
  fillRule: "evenodd",
106
123
  clipRule: "evenodd",
107
124
  d: "M0.792894 9.70711C0.402369 9.31658 0.402369 8.68342 0.792894 8.29289L4.08579 5L0.792893 1.70711C0.402369 1.31658 0.402369 0.683418 0.792893 0.292894C1.18342 -0.0976312 1.81658 -0.0976312 2.20711 0.292894L6.20711 4.29289C6.59763 4.68342 6.59763 5.31658 6.20711 5.70711L2.20711 9.70711C1.81658 10.0976 1.18342 10.0976 0.792894 9.70711Z",
108
- fill: "#313131"
125
+ fill: "currentColor"
109
126
  }))));
110
127
  });
111
128
  exports.ExpandCell = ExpandCell;
@@ -121,7 +138,7 @@ var CustomTableCell = /*#__PURE__*/_react["default"].memo(function (_ref4) {
121
138
  type = _ref4.type,
122
139
  path = _ref4.path,
123
140
  link = _ref4.link,
124
- props = (0, _objectWithoutPropertiesLoose2["default"])(_ref4, _excluded3);
141
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref4, _excluded4);
125
142
  return /*#__PURE__*/_react["default"].createElement(_Cell["default"], (0, _extends2["default"])({}, props, {
126
143
  dataKey: dataKey
127
144
  }), link && !path && !(hideLink !== null && hideLink !== void 0 && hideLink(rowData)) ? /*#__PURE__*/_react["default"].createElement("a", {
@@ -145,7 +162,7 @@ var CustomRowStatus = /*#__PURE__*/_react["default"].memo(function (_ref5) {
145
162
  getIcon = _ref5.getIcon,
146
163
  path = _ref5.path,
147
164
  link = _ref5.link,
148
- props = (0, _objectWithoutPropertiesLoose2["default"])(_ref5, _excluded4);
165
+ props = (0, _objectWithoutPropertiesLoose2["default"])(_ref5, _excluded5);
149
166
  var _useState = (0, _react.useState)('bottom-position'),
150
167
  dropdownPosition = _useState[0],
151
168
  setDropdownPosition = _useState[1];
@@ -12,6 +12,7 @@ var _HeaderCell = _interopRequireDefault(require("../HeaderCell"));
12
12
  var _Pagination = _interopRequireDefault(require("../Pagination"));
13
13
  var _Table = _interopRequireDefault(require("../Table"));
14
14
  var _useResponsiveStore = _interopRequireDefault(require("../utils/useResponsiveStore"));
15
+ var _labels = require("./labels");
15
16
  var _CustomTableCell = require("./CustomTableCell");
16
17
  var _Toolbar = _interopRequireDefault(require("./Toolbar"));
17
18
  var _CardComponent = _interopRequireDefault(require("./utilities/CardComponent"));
@@ -112,7 +113,26 @@ var QbsTable = function QbsTable(_ref) {
112
113
  _ref$isCustomTableCar = _ref.isCustomTableCardView,
113
114
  isCustomTableCardView = _ref$isCustomTableCar === void 0 ? false : _ref$isCustomTableCar,
114
115
  handleTableCardView = _ref.handleTableCardView,
115
- handleCustomCardLoader = _ref.handleCustomCardLoader;
116
+ handleCustomCardLoader = _ref.handleCustomCardLoader,
117
+ dropType = _ref.dropType,
118
+ labelsProp = _ref.labels,
119
+ _ref$rtl = _ref.rtl,
120
+ rtl = _ref$rtl === void 0 ? false : _ref$rtl,
121
+ _ref$rowViewToggle = _ref.rowViewToggle,
122
+ rowViewToggle = _ref$rowViewToggle === void 0 ? false : _ref$rowViewToggle,
123
+ _ref$defaultRowView = _ref.defaultRowView,
124
+ defaultRowView = _ref$defaultRowView === void 0 ? true : _ref$defaultRowView,
125
+ _ref$fullWidthView = _ref.fullWidthView,
126
+ fullWidthView = _ref$fullWidthView === void 0 ? false : _ref$fullWidthView,
127
+ setTableFullView = _ref.setTableFullView,
128
+ setRowViewToggle = _ref.setRowViewToggle,
129
+ _ref$isFullScreen = _ref.isFullScreen,
130
+ isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen,
131
+ rowHeight = _ref.rowHeight;
132
+ var labels = (0, _react.useMemo)(function () {
133
+ return (0, _labels.mergeQbsTableLabels)(labelsProp);
134
+ }, [labelsProp]);
135
+ var pinSide = rtl ? 'left' : 'right';
116
136
  var _useState = (0, _react.useState)(false),
117
137
  loading = _useState[0],
118
138
  setLoading = _useState[1];
@@ -265,7 +285,15 @@ var QbsTable = function QbsTable(_ref) {
265
285
  searchPlaceholder: searchPlaceholder,
266
286
  setTableViewToggle: setTableViewToggle,
267
287
  tableViewToggle: tableViewToggle,
268
- enableTableToggle: enableTableToggle
288
+ enableTableToggle: enableTableToggle,
289
+ rowViewToggle: rowViewToggle,
290
+ defaultRowView: defaultRowView,
291
+ fullWidthView: fullWidthView,
292
+ setTableFullView: setTableFullView,
293
+ setRowViewToggle: setRowViewToggle,
294
+ isFullScreen: isFullScreen,
295
+ labels: labels,
296
+ rtl: rtl
269
297
  };
270
298
  var themeToggle = (0, _react.useMemo)(function () {
271
299
  return document.getElementById('themeToggle');
@@ -565,6 +593,7 @@ var QbsTable = function QbsTable(_ref) {
565
593
  height: autoHeight ? undefined : height,
566
594
  key: tableKey,
567
595
  tableKey: tableKey,
596
+ rtl: rtl,
568
597
  data: data,
569
598
  tableBodyRef: tableBodyRef,
570
599
  dataTheme: dataTheme,
@@ -589,6 +618,7 @@ var QbsTable = function QbsTable(_ref) {
589
618
  columns: columns,
590
619
  minHeight: minHeight,
591
620
  headerHeight: headerHeight,
621
+ rowHeight: rowHeight,
592
622
  rowExpandedHeight: rowExpandedHeight,
593
623
  loading: isLoading != null ? isLoading : loading,
594
624
  showHeader: true,
@@ -673,7 +703,7 @@ var QbsTable = function QbsTable(_ref) {
673
703
  getToolTip: customRowStatus.getToolTip
674
704
  })), columnsRendered, !actionProps || (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) === 0 && columnToggle && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
675
705
  width: 40,
676
- fixed: "right"
706
+ fixed: pinSide
677
707
  }, /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {
678
708
  verticalAlign: findGrouped() ? 'middle' : undefined,
679
709
  className: " " + classes.headerlClass,
@@ -687,10 +717,12 @@ var QbsTable = function QbsTable(_ref) {
687
717
  tableHeight: height,
688
718
  setIsOpen: setIsOpen,
689
719
  handleResetColumns: handleResetColumns,
690
- handleColumnToggle: handleColumnToggle
720
+ handleColumnToggle: handleColumnToggle,
721
+ labels: labels,
722
+ rtl: rtl
691
723
  })), /*#__PURE__*/_react["default"].createElement(_Cell["default"], null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
692
724
  width: 40,
693
- fixed: "right"
725
+ fixed: pinSide
694
726
  }, /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {
695
727
  verticalAlign: findGrouped() ? 'middle' : undefined,
696
728
  className: " " + classes.headerlClass,
@@ -704,13 +736,16 @@ var QbsTable = function QbsTable(_ref) {
704
736
  isOpen: isOpen,
705
737
  setIsOpen: setIsOpen,
706
738
  handleResetColumns: handleResetColumns,
707
- handleColumnToggle: handleColumnToggle
739
+ handleColumnToggle: handleColumnToggle,
740
+ labels: labels,
741
+ rtl: rtl
708
742
  })), /*#__PURE__*/_react["default"].createElement(_CustomTableCell.ActionCell, {
709
743
  tableBodyRef: tableBodyRef,
710
744
  actionProps: actionProps,
711
745
  className: classes.cellClass + " " + classes.actionCellClass,
712
746
  handleMenuActions: handleMenuActions,
713
- dataTheme: dataTheme
747
+ dataTheme: dataTheme,
748
+ dropType: dropType
714
749
  }))) : /*#__PURE__*/_react["default"].createElement("div", {
715
750
  className: isCustomTableCardView && ((data === null || data === void 0 ? void 0 : data.length) === 0 || !data) && !isLoading ? 'qbs-card-empty-wrapper' : isCustomTableCardView ? 'qbs-card-wrapper' : ' p-2',
716
751
  style: {
@@ -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"));
@@ -97,7 +98,25 @@ var QbsTable = function QbsTable(_ref) {
97
98
  _renderEmpty = _ref.renderEmpty,
98
99
  autoHeight = _ref.autoHeight,
99
100
  emptySubTitle = _ref.emptySubTitle,
100
- emptyTitle = _ref.emptyTitle;
101
+ emptyTitle = _ref.emptyTitle,
102
+ dropType = _ref.dropType,
103
+ labelsProp = _ref.labels,
104
+ _ref$rtl = _ref.rtl,
105
+ rtl = _ref$rtl === void 0 ? false : _ref$rtl,
106
+ _ref$rowViewToggle = _ref.rowViewToggle,
107
+ rowViewToggle = _ref$rowViewToggle === void 0 ? false : _ref$rowViewToggle,
108
+ _ref$defaultRowView = _ref.defaultRowView,
109
+ defaultRowView = _ref$defaultRowView === void 0 ? true : _ref$defaultRowView,
110
+ _ref$fullWidthView = _ref.fullWidthView,
111
+ fullWidthView = _ref$fullWidthView === void 0 ? false : _ref$fullWidthView,
112
+ setTableFullView = _ref.setTableFullView,
113
+ setRowViewToggle = _ref.setRowViewToggle,
114
+ _ref$isFullScreen = _ref.isFullScreen,
115
+ isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen;
116
+ var labels = (0, _react.useMemo)(function () {
117
+ return (0, _labels.mergeQbsTableLabels)(labelsProp);
118
+ }, [labelsProp]);
119
+ var pinSide = rtl ? 'left' : 'right';
101
120
  var _useState = (0, _react.useState)(false),
102
121
  loading = _useState[0],
103
122
  setLoading = _useState[1];
@@ -243,7 +262,15 @@ var QbsTable = function QbsTable(_ref) {
243
262
  onSelect: handleClear,
244
263
  handleColumnToggle: handleColumnToggle,
245
264
  dataLength: data === null || data === void 0 ? void 0 : data.length,
246
- searchPlaceholder: searchPlaceholder
265
+ searchPlaceholder: searchPlaceholder,
266
+ rowViewToggle: rowViewToggle,
267
+ defaultRowView: defaultRowView,
268
+ fullWidthView: fullWidthView,
269
+ setTableFullView: setTableFullView,
270
+ setRowViewToggle: setRowViewToggle,
271
+ isFullScreen: isFullScreen,
272
+ labels: labels,
273
+ rtl: rtl
247
274
  };
248
275
  var themeToggle = (0, _react.useMemo)(function () {
249
276
  return document.getElementById('themeToggle');
@@ -424,6 +451,7 @@ var QbsTable = function QbsTable(_ref) {
424
451
  height: autoHeight ? undefined : height,
425
452
  key: tableKey,
426
453
  tableKey: tableKey,
454
+ rtl: rtl,
427
455
  data: data,
428
456
  tableBodyRef: tableBodyRef,
429
457
  dataTheme: dataTheme,
@@ -532,7 +560,7 @@ var QbsTable = function QbsTable(_ref) {
532
560
  getToolTip: customRowStatus.getToolTip
533
561
  })), columnsRendered, !actionProps || (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) === 0 && columnToggle && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
534
562
  width: 40,
535
- fixed: "right"
563
+ fixed: pinSide
536
564
  }, /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {
537
565
  verticalAlign: findGrouped() ? 'middle' : undefined,
538
566
  className: " " + classes.headerlClass,
@@ -546,10 +574,12 @@ var QbsTable = function QbsTable(_ref) {
546
574
  tableHeight: height,
547
575
  setIsOpen: setIsOpen,
548
576
  handleResetColumns: handleResetColumns,
549
- handleColumnToggle: handleColumnToggle
577
+ handleColumnToggle: handleColumnToggle,
578
+ labels: labels,
579
+ rtl: rtl
550
580
  })), /*#__PURE__*/_react["default"].createElement(_Cell["default"], null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
551
581
  width: 40,
552
- fixed: "right"
582
+ fixed: pinSide
553
583
  }, /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {
554
584
  verticalAlign: findGrouped() ? 'middle' : undefined,
555
585
  className: " " + classes.headerlClass,
@@ -563,13 +593,16 @@ var QbsTable = function QbsTable(_ref) {
563
593
  isOpen: isOpen,
564
594
  setIsOpen: setIsOpen,
565
595
  handleResetColumns: handleResetColumns,
566
- handleColumnToggle: handleColumnToggle
596
+ handleColumnToggle: handleColumnToggle,
597
+ labels: labels,
598
+ rtl: rtl
567
599
  })), /*#__PURE__*/_react["default"].createElement(_CustomTableCell.ActionCell, {
568
600
  tableBodyRef: tableBodyRef,
569
601
  actionProps: actionProps,
570
602
  className: classes.cellClass + " " + classes.actionCellClass,
571
603
  handleMenuActions: handleMenuActions,
572
- dataTheme: dataTheme
604
+ dataTheme: dataTheme,
605
+ dropType: dropType
573
606
  }))), /*#__PURE__*/_react["default"].createElement("div", null, pagination && (data === null || data === void 0 ? void 0 : data.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Pagination["default"], {
574
607
  paginationProps: paginationProps
575
608
  }))));
@@ -5,6 +5,7 @@ exports.__esModule = true;
5
5
  exports["default"] = void 0;
6
6
  var _react = _interopRequireWildcard(require("react"));
7
7
  var _useResponsiveStore = _interopRequireDefault(require("../utils/useResponsiveStore"));
8
+ var _labels = require("./labels");
8
9
  var _debounce = _interopRequireDefault(require("./utilities/debounce"));
9
10
  var _icons = require("./utilities/icons");
10
11
  var _SearchInput = _interopRequireDefault(require("./utilities/SearchInput"));
@@ -13,7 +14,7 @@ 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 _ref2, _labels$switchToDefau, _labels$switchToRelax, _labels$switchToFullS, _labels$switchToTable, _labels$switchToCardV, _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,
@@ -34,7 +35,23 @@ var ToolBar = function ToolBar(_ref) {
34
35
  tableViewToggle = _ref.tableViewToggle,
35
36
  setTableViewToggle = _ref.setTableViewToggle,
36
37
  _ref$enableTableToggl = _ref.enableTableToggle,
37
- enableTableToggle = _ref$enableTableToggl === void 0 ? false : _ref$enableTableToggl;
38
+ enableTableToggle = _ref$enableTableToggl === void 0 ? false : _ref$enableTableToggl,
39
+ _ref$rowViewToggle = _ref.rowViewToggle,
40
+ rowViewToggle = _ref$rowViewToggle === void 0 ? false : _ref$rowViewToggle,
41
+ _ref$defaultRowView = _ref.defaultRowView,
42
+ defaultRowView = _ref$defaultRowView === void 0 ? true : _ref$defaultRowView,
43
+ _ref$fullWidthView = _ref.fullWidthView,
44
+ fullWidthView = _ref$fullWidthView === void 0 ? false : _ref$fullWidthView,
45
+ setTableFullView = _ref.setTableFullView,
46
+ setRowViewToggle = _ref.setRowViewToggle,
47
+ _ref$isFullScreen = _ref.isFullScreen,
48
+ isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen,
49
+ labelsProp = _ref.labels,
50
+ _ref$rtl = _ref.rtl,
51
+ rtl = _ref$rtl === void 0 ? false : _ref$rtl;
52
+ var labels = (0, _react.useMemo)(function () {
53
+ return (0, _labels.mergeQbsTableLabels)(labelsProp);
54
+ }, [labelsProp]);
38
55
  var debouncedOnSearch = (0, _react.useCallback)((0, _debounce["default"])(onSearch != null ? onSearch : function () {}, 1000), [onSearch]);
39
56
  var _useState = (0, _react.useState)(searchValue),
40
57
  searchParam = _useState[0],
@@ -59,11 +76,11 @@ var ToolBar = function ToolBar(_ref) {
59
76
  var handleHide = function handleHide(actions) {
60
77
  if (actions.hidden) {
61
78
  return false;
62
- } else if (actions.customHide == '>2') {
63
- return checkedKeys && (checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) >= 2 ? true : false;
64
- } else {
65
- return true;
66
79
  }
80
+ if (actions.customHide === '>2') {
81
+ return checkedKeys && (checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) >= 2;
82
+ }
83
+ return true;
67
84
  };
68
85
  var isMobile = (0, _useResponsiveStore["default"])();
69
86
  var handleFilterClick = function handleFilterClick() {
@@ -71,9 +88,10 @@ var ToolBar = function ToolBar(_ref) {
71
88
  };
72
89
  return /*#__PURE__*/_react["default"].createElement("div", {
73
90
  className: "qbs-table-toolbar-container",
74
- ref: toolbarRef
91
+ ref: toolbarRef,
92
+ dir: rtl ? 'rtl' : 'ltr'
75
93
  }, /*#__PURE__*/_react["default"].createElement("div", {
76
- className: "qbs-table-toolbar " + className
94
+ className: "qbs-table-toolbar " + (className != null ? className : '')
77
95
  }, /*#__PURE__*/_react["default"].createElement("div", {
78
96
  className: "start-container",
79
97
  style: {
@@ -83,7 +101,7 @@ var ToolBar = function ToolBar(_ref) {
83
101
  }, /*#__PURE__*/_react["default"].createElement("div", {
84
102
  className: "qbs-table-primary-filter"
85
103
  }, search && /*#__PURE__*/_react["default"].createElement(_SearchInput["default"], {
86
- placeholder: searchPlaceholder != null ? searchPlaceholder : 'Search',
104
+ placeholder: (_ref2 = searchPlaceholder != null ? searchPlaceholder : labels.search) != null ? _ref2 : 'Search',
87
105
  handleChange: handleChange,
88
106
  handleSearch: handleSearch,
89
107
  searchValue: searchParam
@@ -104,13 +122,54 @@ var ToolBar = function ToolBar(_ref) {
104
122
  strokeLinejoin: "round",
105
123
  d: "M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z"
106
124
  }))), tableHeaderActions, /*#__PURE__*/_react["default"].createElement("div", {
107
- className: " pr-1 cursor-pointer relative "
108
- }, enableTableToggle && !isMobile && /*#__PURE__*/_react["default"].createElement("div", {
125
+ className: "pr-1 cursor-pointer relative table_custom_ctions"
126
+ }, (rowViewToggle || isFullScreen) && /*#__PURE__*/_react["default"].createElement("div", {
127
+ className: "flex gap-2 qbs-row-switch-container"
128
+ }, rowViewToggle && /*#__PURE__*/_react["default"].createElement("div", {
129
+ className: "flex gap-2 table_cell_style qbs-table-top-icons"
130
+ }, /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
131
+ tableBodyRef: toolbarRef,
132
+ title: (_labels$switchToDefau = labels.switchToDefaultView) != null ? _labels$switchToDefau : ''
133
+ }, /*#__PURE__*/_react["default"].createElement("button", {
134
+ type: "button",
135
+ className: "qbs-table-view-btn",
136
+ onClick: function onClick() {
137
+ return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(true);
138
+ }
139
+ }, /*#__PURE__*/_react["default"].createElement(_icons.DefaultView, {
140
+ className: "" + (defaultRowView ? 'active' : '')
141
+ }))), /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
142
+ tableBodyRef: toolbarRef,
143
+ title: (_labels$switchToRelax = labels.switchToRelaxedView) != null ? _labels$switchToRelax : ''
144
+ }, /*#__PURE__*/_react["default"].createElement("button", {
145
+ type: "button",
146
+ className: "qbs-table-view-btn",
147
+ onClick: function onClick() {
148
+ return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(false);
149
+ }
150
+ }, /*#__PURE__*/_react["default"].createElement(_icons.ContentView, {
151
+ className: "" + (!defaultRowView ? 'active' : '')
152
+ })))), isFullScreen && /*#__PURE__*/_react["default"].createElement("div", {
153
+ className: "table_full_width qbs-table-top-icons"
154
+ }, /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
155
+ tableBodyRef: toolbarRef,
156
+ title: (_labels$switchToFullS = labels.switchToFullScreen) != null ? _labels$switchToFullS : ''
157
+ }, /*#__PURE__*/_react["default"].createElement("button", {
158
+ type: "button",
159
+ className: "qbs-table-view-btn",
160
+ onClick: function onClick() {
161
+ return setTableFullView === null || setTableFullView === void 0 ? void 0 : setTableFullView(!fullWidthView);
162
+ }
163
+ }, /*#__PURE__*/_react["default"].createElement(_icons.ExpandIcon, {
164
+ className: "" + (fullWidthView ? 'active' : '')
165
+ }))))), enableTableToggle && !isMobile && /*#__PURE__*/_react["default"].createElement("div", {
109
166
  className: "qbs-table-top-icons flex gap-2"
110
167
  }, /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
111
168
  tableBodyRef: toolbarRef,
112
- title: 'Switch to Table View'
113
- }, /*#__PURE__*/_react["default"].createElement("div", {
169
+ title: (_labels$switchToTable = labels.switchToTableView) != null ? _labels$switchToTable : ''
170
+ }, /*#__PURE__*/_react["default"].createElement("button", {
171
+ type: "button",
172
+ className: "qbs-table-view-btn",
114
173
  onClick: function onClick() {
115
174
  return setTableViewToggle === null || setTableViewToggle === void 0 ? void 0 : setTableViewToggle(true);
116
175
  }
@@ -118,13 +177,15 @@ var ToolBar = function ToolBar(_ref) {
118
177
  className: "" + (tableViewToggle ? 'active' : '')
119
178
  }))), /*#__PURE__*/_react["default"].createElement("div", {
120
179
  className: "border-r h-4 w-1"
121
- }), /*#__PURE__*/_react["default"].createElement("div", {
180
+ }), /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
181
+ tableBodyRef: toolbarRef,
182
+ title: (_labels$switchToCardV = labels.switchToCardView) != null ? _labels$switchToCardV : ''
183
+ }, /*#__PURE__*/_react["default"].createElement("button", {
184
+ type: "button",
185
+ className: "qbs-table-view-btn",
122
186
  onClick: function onClick() {
123
187
  return setTableViewToggle === null || setTableViewToggle === void 0 ? void 0 : setTableViewToggle(false);
124
188
  }
125
- }, /*#__PURE__*/_react["default"].createElement(_ToolTip["default"], {
126
- tableBodyRef: toolbarRef,
127
- title: 'Switch to Card View'
128
189
  }, /*#__PURE__*/_react["default"].createElement(_icons.CardView, {
129
190
  className: "" + (!tableViewToggle ? 'active' : '')
130
191
  }))))))), isMobile && isOpen && /*#__PURE__*/_react["default"].createElement("div", {
@@ -137,16 +198,19 @@ var ToolBar = function ToolBar(_ref) {
137
198
  className: "qbs-table-toolbar-sub-container-start"
138
199
  }, /*#__PURE__*/_react["default"].createElement("div", {
139
200
  className: "selected-row"
140
- }, "Selected Items(" + (checkedKeys === null || checkedKeys === void 0 ? void 0 : checkedKeys.length) + ") "), /*#__PURE__*/_react["default"].createElement("div", {
201
+ }, (0, _labels.formatSelectedItems)(checkedKeys.length, labels)), /*#__PURE__*/_react["default"].createElement("div", {
141
202
  className: "selected-row-action"
142
203
  }, /*#__PURE__*/_react["default"].createElement("button", {
204
+ type: "button",
143
205
  className: "btn",
144
206
  onClick: function onClick() {
145
207
  return onSelect === null || onSelect === void 0 ? void 0 : onSelect([]);
146
208
  }
147
- }, "Clear"), selectedRowActions === null || selectedRowActions === void 0 ? void 0 : selectedRowActions.map(function (actions, index) {
148
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, handleHide(actions) && /*#__PURE__*/_react["default"].createElement("button", {
149
- key: index.toString(),
209
+ }, labels.clear), selectedRowActions === null || selectedRowActions === void 0 ? void 0 : selectedRowActions.map(function (actions, index) {
210
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
211
+ key: index.toString()
212
+ }, handleHide(actions) && /*#__PURE__*/_react["default"].createElement("button", {
213
+ type: "button",
150
214
  className: "btn",
151
215
  disabled: actions.disabled,
152
216
  onClick: function onClick() {
@@ -1,4 +1,5 @@
1
1
  import React, { ReactElement, ReactNode } from 'react';
2
+ import type { QbsTableLabels } from './labels';
2
3
  interface Content {
3
4
  cell: ReactNode | string;
4
5
  toolTip?: string;
@@ -82,6 +83,9 @@ export interface QbsTableProps {
82
83
  expandedRowKeys?: readonly number[];
83
84
  setExpandedRowKeys?: (value: readonly number[]) => void;
84
85
  handleMenuActions?: (actions: ActionProps, rowData: any) => void;
86
+ dropType?: 'vertical' | string;
87
+ labels?: QbsTableLabels;
88
+ rtl?: boolean;
85
89
  handleRowExpanded?: (rowData: any) => React.ReactNode;
86
90
  shouldUpdateScroll?: boolean;
87
91
  rowExpand?: boolean;
@@ -127,6 +131,13 @@ export interface QbsTableProps {
127
131
  handleTableCardView?: (data: any) => React.ReactNode;
128
132
  isCustomTableCardView?: boolean;
129
133
  handleCustomCardLoader?: () => React.ReactNode;
134
+ rowViewToggle?: boolean;
135
+ defaultRowView?: boolean;
136
+ fullWidthView?: boolean;
137
+ setTableFullView?: (value: boolean) => void;
138
+ setRowViewToggle?: (value: boolean) => void;
139
+ isFullScreen?: boolean;
140
+ rowHeight?: number;
130
141
  }
131
142
  export interface QbsTableToolbarProps {
132
143
  title?: string;
@@ -155,6 +166,14 @@ export interface QbsTableToolbarProps {
155
166
  enableTableToggle?: boolean;
156
167
  tableViewToggle?: boolean;
157
168
  setTableViewToggle?: (value: boolean) => void;
169
+ rowViewToggle?: boolean;
170
+ defaultRowView?: boolean;
171
+ fullWidthView?: boolean;
172
+ setTableFullView?: (value: boolean) => void;
173
+ setRowViewToggle?: (value: boolean) => void;
174
+ isFullScreen?: boolean;
175
+ labels?: QbsTableLabels;
176
+ rtl?: boolean;
158
177
  selectedRowActions?: {
159
178
  actionTitle?: string;
160
179
  action: (checked: (number | string)[]) => void;
@@ -0,0 +1,25 @@
1
+ export type 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 defaultQbsTableLabels: QbsTableLabels;
24
+ export declare const mergeQbsTableLabels: (overrides?: QbsTableLabels) => QbsTableLabels;
25
+ export declare const formatSelectedItems: (count: number, labels?: QbsTableLabels) => string;