qbs-react-grid 2.2.9 → 2.2.11

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.
@@ -126,7 +126,10 @@ var QbsTable = function QbsTable(_ref) {
126
126
  var labels = useMemo(function () {
127
127
  return mergeQbsTableLabels(labelsProp);
128
128
  }, [labelsProp]);
129
- var pinSide = rtl ? 'left' : 'right';
129
+ var effectiveWordWrap = useMemo(function () {
130
+ if (!rowViewToggle) return wordWrap;
131
+ return defaultRowView ? wordWrap : 'break-word';
132
+ }, [rowViewToggle, defaultRowView, wordWrap]);
130
133
  var _useState = useState(false),
131
134
  loading = _useState[0],
132
135
  setLoading = _useState[1];
@@ -149,6 +152,16 @@ var QbsTable = function QbsTable(_ref) {
149
152
  setTableViewToggle = _useState5[1];
150
153
  var isMobile = useResponsiveStore();
151
154
  var tableBodyRef = useRef(null);
155
+ var _useState6 = useState(0),
156
+ rowViewRefreshKey = _useState6[0],
157
+ setRowViewRefreshKey = _useState6[1];
158
+ useEffect(function () {
159
+ if (rowViewToggle) {
160
+ setRowViewRefreshKey(function (key) {
161
+ return key + 1;
162
+ });
163
+ }
164
+ }, [defaultRowView, rowViewToggle]);
152
165
  var handleSortColumn = useCallback(function (sortColumn, sortType) {
153
166
  setLoading(true);
154
167
  setTimeout(function () {
@@ -585,13 +598,13 @@ var QbsTable = function QbsTable(_ref) {
585
598
  className: "qbs-table-border-wrap"
586
599
  }, tableViewToggle ? /*#__PURE__*/React.createElement(Table, {
587
600
  height: autoHeight ? undefined : height,
588
- key: tableKey,
601
+ key: tableKey + "-" + rowViewRefreshKey,
589
602
  tableKey: tableKey,
590
603
  rtl: rtl,
591
604
  data: data,
592
605
  tableBodyRef: tableBodyRef,
593
606
  dataTheme: dataTheme,
594
- wordWrap: wordWrap,
607
+ wordWrap: effectiveWordWrap,
595
608
  autoHeight: autoHeight,
596
609
  sortColumn: sortColumn,
597
610
  style: {
@@ -697,7 +710,7 @@ var QbsTable = function QbsTable(_ref) {
697
710
  getToolTip: customRowStatus.getToolTip
698
711
  })), columnsRendered, !actionProps || (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) === 0 && columnToggle && /*#__PURE__*/React.createElement(Column, {
699
712
  width: 40,
700
- fixed: pinSide
713
+ fixed: "right"
701
714
  }, /*#__PURE__*/React.createElement(HeaderCell, {
702
715
  verticalAlign: findGrouped() ? 'middle' : undefined,
703
716
  className: " " + classes.headerlClass,
@@ -716,7 +729,7 @@ var QbsTable = function QbsTable(_ref) {
716
729
  rtl: rtl
717
730
  })), /*#__PURE__*/React.createElement(Cell, null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/React.createElement(Column, {
718
731
  width: 40,
719
- fixed: pinSide
732
+ fixed: "right"
720
733
  }, /*#__PURE__*/React.createElement(HeaderCell, {
721
734
  verticalAlign: findGrouped() ? 'middle' : undefined,
722
735
  className: " " + classes.headerlClass,
@@ -110,7 +110,10 @@ var QbsTable = function QbsTable(_ref) {
110
110
  var labels = useMemo(function () {
111
111
  return mergeQbsTableLabels(labelsProp);
112
112
  }, [labelsProp]);
113
- var pinSide = rtl ? 'left' : 'right';
113
+ var effectiveWordWrap = useMemo(function () {
114
+ if (!rowViewToggle) return wordWrap;
115
+ return defaultRowView ? wordWrap : 'break-word';
116
+ }, [rowViewToggle, defaultRowView, wordWrap]);
114
117
  var _useState = useState(false),
115
118
  loading = _useState[0],
116
119
  setLoading = _useState[1];
@@ -449,7 +452,7 @@ var QbsTable = function QbsTable(_ref) {
449
452
  data: data,
450
453
  tableBodyRef: tableBodyRef,
451
454
  dataTheme: dataTheme,
452
- wordWrap: wordWrap,
455
+ wordWrap: effectiveWordWrap,
453
456
  autoHeight: autoHeight,
454
457
  sortColumn: sortColumn,
455
458
  style: {
@@ -554,7 +557,7 @@ var QbsTable = function QbsTable(_ref) {
554
557
  getToolTip: customRowStatus.getToolTip
555
558
  })), columnsRendered, !actionProps || (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) === 0 && columnToggle && /*#__PURE__*/React.createElement(Column, {
556
559
  width: 40,
557
- fixed: pinSide
560
+ fixed: "right"
558
561
  }, /*#__PURE__*/React.createElement(HeaderCell, {
559
562
  verticalAlign: findGrouped() ? 'middle' : undefined,
560
563
  className: " " + classes.headerlClass,
@@ -573,7 +576,7 @@ var QbsTable = function QbsTable(_ref) {
573
576
  rtl: rtl
574
577
  })), /*#__PURE__*/React.createElement(Cell, null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/React.createElement(Column, {
575
578
  width: 40,
576
- fixed: pinSide
579
+ fixed: "right"
577
580
  }, /*#__PURE__*/React.createElement(HeaderCell, {
578
581
  verticalAlign: findGrouped() ? 'middle' : undefined,
579
582
  className: " " + classes.headerlClass,
@@ -39,9 +39,7 @@ var ToolBar = function ToolBar(_ref) {
39
39
  setRowViewToggle = _ref.setRowViewToggle,
40
40
  _ref$isFullScreen = _ref.isFullScreen,
41
41
  isFullScreen = _ref$isFullScreen === void 0 ? false : _ref$isFullScreen,
42
- labelsProp = _ref.labels,
43
- _ref$rtl = _ref.rtl,
44
- rtl = _ref$rtl === void 0 ? false : _ref$rtl;
42
+ labelsProp = _ref.labels;
45
43
  var labels = useMemo(function () {
46
44
  return mergeQbsTableLabels(labelsProp);
47
45
  }, [labelsProp]);
@@ -81,8 +79,7 @@ var ToolBar = function ToolBar(_ref) {
81
79
  };
82
80
  return /*#__PURE__*/React.createElement("div", {
83
81
  className: "qbs-table-toolbar-container",
84
- ref: toolbarRef,
85
- dir: rtl ? 'rtl' : 'ltr'
82
+ ref: toolbarRef
86
83
  }, /*#__PURE__*/React.createElement("div", {
87
84
  className: "qbs-table-toolbar " + (className != null ? className : '')
88
85
  }, /*#__PURE__*/React.createElement("div", {
@@ -117,28 +114,40 @@ var ToolBar = function ToolBar(_ref) {
117
114
  }))), tableHeaderActions, /*#__PURE__*/React.createElement("div", {
118
115
  className: "pr-1 cursor-pointer relative table_custom_ctions"
119
116
  }, (rowViewToggle || isFullScreen) && /*#__PURE__*/React.createElement("div", {
120
- className: "flex gap-2 qbs-row-switch-container"
117
+ className: "flex gap-2 qbs-row-switch-cntainer"
121
118
  }, rowViewToggle && /*#__PURE__*/React.createElement("div", {
122
119
  className: "flex gap-2 table_cell_style qbs-table-top-icons"
123
120
  }, /*#__PURE__*/React.createElement(TooltipComponent, {
124
121
  tableBodyRef: toolbarRef,
125
122
  title: (_labels$switchToDefau = labels.switchToDefaultView) != null ? _labels$switchToDefau : ''
126
- }, /*#__PURE__*/React.createElement("button", {
127
- type: "button",
128
- className: "qbs-table-view-btn",
123
+ }, /*#__PURE__*/React.createElement("div", {
124
+ role: "button",
125
+ tabIndex: 0,
126
+ title: labels.switchToDefaultView,
129
127
  onClick: function onClick() {
130
128
  return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(true);
129
+ },
130
+ onKeyDown: function onKeyDown(e) {
131
+ if (e.key === 'Enter' || e.key === ' ') {
132
+ setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(true);
133
+ }
131
134
  }
132
135
  }, /*#__PURE__*/React.createElement(DefaultView, {
133
136
  className: "" + (defaultRowView ? 'active' : '')
134
137
  }))), /*#__PURE__*/React.createElement(TooltipComponent, {
135
138
  tableBodyRef: toolbarRef,
136
139
  title: (_labels$switchToRelax = labels.switchToRelaxedView) != null ? _labels$switchToRelax : ''
137
- }, /*#__PURE__*/React.createElement("button", {
138
- type: "button",
139
- className: "qbs-table-view-btn",
140
+ }, /*#__PURE__*/React.createElement("div", {
141
+ role: "button",
142
+ tabIndex: 0,
143
+ title: labels.switchToRelaxedView,
140
144
  onClick: function onClick() {
141
145
  return setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(false);
146
+ },
147
+ onKeyDown: function onKeyDown(e) {
148
+ if (e.key === 'Enter' || e.key === ' ') {
149
+ setRowViewToggle === null || setRowViewToggle === void 0 ? void 0 : setRowViewToggle(false);
150
+ }
142
151
  }
143
152
  }, /*#__PURE__*/React.createElement(ContentView, {
144
153
  className: "" + (!defaultRowView ? 'active' : '')
@@ -147,11 +156,17 @@ var ToolBar = function ToolBar(_ref) {
147
156
  }, /*#__PURE__*/React.createElement(TooltipComponent, {
148
157
  tableBodyRef: toolbarRef,
149
158
  title: (_labels$switchToFullS = labels.switchToFullScreen) != null ? _labels$switchToFullS : ''
150
- }, /*#__PURE__*/React.createElement("button", {
151
- type: "button",
152
- className: "qbs-table-view-btn",
159
+ }, /*#__PURE__*/React.createElement("div", {
160
+ role: "button",
161
+ tabIndex: 0,
162
+ title: labels.switchToFullScreen,
153
163
  onClick: function onClick() {
154
164
  return setTableFullView === null || setTableFullView === void 0 ? void 0 : setTableFullView(!fullWidthView);
165
+ },
166
+ onKeyDown: function onKeyDown(e) {
167
+ if (e.key === 'Enter' || e.key === ' ') {
168
+ setTableFullView === null || setTableFullView === void 0 ? void 0 : setTableFullView(!fullWidthView);
169
+ }
155
170
  }
156
171
  }, /*#__PURE__*/React.createElement(ExpandIcon, {
157
172
  className: "" + (fullWidthView ? 'active' : '')
@@ -160,9 +175,7 @@ var ToolBar = function ToolBar(_ref) {
160
175
  }, /*#__PURE__*/React.createElement(TooltipComponent, {
161
176
  tableBodyRef: toolbarRef,
162
177
  title: (_labels$switchToTable = labels.switchToTableView) != null ? _labels$switchToTable : ''
163
- }, /*#__PURE__*/React.createElement("button", {
164
- type: "button",
165
- className: "qbs-table-view-btn",
178
+ }, /*#__PURE__*/React.createElement("div", {
166
179
  onClick: function onClick() {
167
180
  return setTableViewToggle === null || setTableViewToggle === void 0 ? void 0 : setTableViewToggle(true);
168
181
  }
@@ -173,9 +186,7 @@ var ToolBar = function ToolBar(_ref) {
173
186
  }), /*#__PURE__*/React.createElement(TooltipComponent, {
174
187
  tableBodyRef: toolbarRef,
175
188
  title: (_labels$switchToCardV = labels.switchToCardView) != null ? _labels$switchToCardV : ''
176
- }, /*#__PURE__*/React.createElement("button", {
177
- type: "button",
178
- className: "qbs-table-view-btn",
189
+ }, /*#__PURE__*/React.createElement("div", {
179
190
  onClick: function onClick() {
180
191
  return setTableViewToggle === null || setTableViewToggle === void 0 ? void 0 : setTableViewToggle(false);
181
192
  }
@@ -1,10 +1,8 @@
1
1
  import React, { useCallback, useEffect, useId, useRef, useState } from 'react';
2
- import ReactDOM from 'react-dom';
3
2
  import { mergeQbsTableLabels } from '../labels';
4
3
  import { closeOtherColumnToggles, COLUMN_TOGGLE_CLOSE_OTHERS } from './columnToggleCoordinator';
5
4
  import { SettingsIcon } from './icons';
6
5
  var ColumnToggle = function ColumnToggle(_ref) {
7
- var _document$getElementB;
8
6
  var columns = _ref.columns,
9
7
  onToggle = _ref.onToggle,
10
8
  onReorder = _ref.onReorder,
@@ -23,39 +21,9 @@ var ColumnToggle = function ColumnToggle(_ref) {
23
21
  draggedItem = _useState[0],
24
22
  setDraggedItem = _useState[1];
25
23
  var popupRef = useRef(null);
26
- var settingsBtnRef = useRef(null);
27
24
  var _useState2 = useState(),
28
25
  dragOverPosition = _useState2[0],
29
26
  setDragOverPosition = _useState2[1];
30
- var _useState3 = useState({
31
- top: 0,
32
- left: 0
33
- }),
34
- position = _useState3[0],
35
- setPosition = _useState3[1];
36
- var updatePopupPosition = useCallback(function () {
37
- var _popupRef$current, _popupRef$current2;
38
- if (!settingsBtnRef.current) return;
39
- var rect = settingsBtnRef.current.getBoundingClientRect();
40
- var viewportPadding = 8;
41
- var popupWidth = ((_popupRef$current = popupRef.current) === null || _popupRef$current === void 0 ? void 0 : _popupRef$current.offsetWidth) || 272;
42
- var popupHeight = ((_popupRef$current2 = popupRef.current) === null || _popupRef$current2 === void 0 ? void 0 : _popupRef$current2.offsetHeight) || 320;
43
- var left = rtl ? rect.left : rect.right - popupWidth;
44
- if (left + popupWidth > window.innerWidth - viewportPadding) {
45
- left = Math.max(viewportPadding, window.innerWidth - popupWidth - viewportPadding);
46
- }
47
- if (left < viewportPadding) {
48
- left = viewportPadding;
49
- }
50
- var top = rect.bottom + 4;
51
- if (top + popupHeight > window.innerHeight - viewportPadding) {
52
- top = Math.max(viewportPadding, rect.top - popupHeight - 4);
53
- }
54
- setPosition({
55
- top: top,
56
- left: left
57
- });
58
- }, [rtl]);
59
27
  useEffect(function () {
60
28
  var handleCloseOthers = function handleCloseOthers(event) {
61
29
  var detail = event.detail;
@@ -68,16 +36,6 @@ var ColumnToggle = function ColumnToggle(_ref) {
68
36
  return document.removeEventListener(COLUMN_TOGGLE_CLOSE_OTHERS, handleCloseOthers);
69
37
  };
70
38
  }, [setIsOpen, toggleId]);
71
- useEffect(function () {
72
- if (!isOpen) return;
73
- updatePopupPosition();
74
- var frame = requestAnimationFrame(function () {
75
- return updatePopupPosition();
76
- });
77
- return function () {
78
- return cancelAnimationFrame(frame);
79
- };
80
- }, [isOpen, updatePopupPosition]);
81
39
  var handleToggle = useCallback(function (columnName) {
82
40
  onToggle(columnName);
83
41
  }, [onToggle]);
@@ -102,9 +60,9 @@ var ColumnToggle = function ColumnToggle(_ref) {
102
60
  setDraggedItem(null);
103
61
  }, [columns, draggedItem, onReorder]);
104
62
  var handleClickOutside = useCallback(function (event) {
105
- var _popupRef$current3, _settingsBtnRef$curre;
63
+ var _popupRef$current;
106
64
  var target = event.target;
107
- if ((_popupRef$current3 = popupRef.current) !== null && _popupRef$current3 !== void 0 && _popupRef$current3.contains(target) || (_settingsBtnRef$curre = settingsBtnRef.current) !== null && _settingsBtnRef$curre !== void 0 && _settingsBtnRef$curre.contains(target)) {
65
+ if ((_popupRef$current = popupRef.current) !== null && _popupRef$current !== void 0 && _popupRef$current.contains(target)) {
108
66
  return;
109
67
  }
110
68
  setIsOpen(false);
@@ -132,9 +90,9 @@ var ColumnToggle = function ColumnToggle(_ref) {
132
90
  return handleToggle(column.title);
133
91
  },
134
92
  className: "qbs-table-checkbox-input",
135
- id: column.title
93
+ id: toggleId + "-" + column.title
136
94
  }), /*#__PURE__*/React.createElement("label", {
137
- htmlFor: column.title
95
+ htmlFor: toggleId + "-" + column.title
138
96
  }, /*#__PURE__*/React.createElement("svg", {
139
97
  width: "8",
140
98
  height: "6",
@@ -174,9 +132,9 @@ var ColumnToggle = function ColumnToggle(_ref) {
174
132
  return handleToggle(column.title);
175
133
  },
176
134
  className: "qbs-table-checkbox-input",
177
- id: column.title
135
+ id: toggleId + "-" + column.title
178
136
  }), /*#__PURE__*/React.createElement("label", {
179
- htmlFor: column.title
137
+ htmlFor: toggleId + "-" + column.title
180
138
  }, /*#__PURE__*/React.createElement("svg", {
181
139
  width: "8",
182
140
  height: "6",
@@ -213,15 +171,23 @@ var ColumnToggle = function ColumnToggle(_ref) {
213
171
  setIsOpen(false);
214
172
  handleColumnToggle === null || handleColumnToggle === void 0 ? void 0 : handleColumnToggle(columns);
215
173
  };
216
- var portalTarget = (_document$getElementB = document.getElementById('portal-root')) != null ? _document$getElementB : document.body;
217
- var popupContent = /*#__PURE__*/React.createElement("div", {
174
+ return /*#__PURE__*/React.createElement("div", {
175
+ className: "qbs-table-settings-wrapper"
176
+ }, /*#__PURE__*/React.createElement("button", {
177
+ type: "button",
178
+ onClick: function onClick(event) {
179
+ event.stopPropagation();
180
+ if (isOpen) {
181
+ setIsOpen(false);
182
+ return;
183
+ }
184
+ closeOtherColumnToggles(toggleId);
185
+ setIsOpen(true);
186
+ }
187
+ }, /*#__PURE__*/React.createElement(SettingsIcon, null)), isOpen && /*#__PURE__*/React.createElement("div", {
218
188
  className: "qbs-table-column-popup" + (rtl ? ' qbs-table-column-popup--rtl' : ''),
219
189
  style: {
220
- position: 'fixed',
221
- top: position.top,
222
- left: position.left,
223
- maxHeight: tableHeight - 40,
224
- zIndex: 10060
190
+ maxHeight: tableHeight - 40
225
191
  },
226
192
  ref: popupRef,
227
193
  dir: rtl ? 'rtl' : 'ltr'
@@ -277,23 +243,6 @@ var ColumnToggle = function ColumnToggle(_ref) {
277
243
  onClick: function onClick() {
278
244
  return handleColToggle();
279
245
  }
280
- }, labels.save))));
281
- return /*#__PURE__*/React.createElement("div", {
282
- className: "qbs-table-settings-wrapper"
283
- }, /*#__PURE__*/React.createElement("button", {
284
- type: "button",
285
- className: "qbs-table-settings-btn",
286
- ref: settingsBtnRef,
287
- onClick: function onClick(event) {
288
- event.stopPropagation();
289
- if (isOpen) {
290
- setIsOpen(false);
291
- return;
292
- }
293
- closeOtherColumnToggles(toggleId);
294
- updatePopupPosition();
295
- setIsOpen(true);
296
- }
297
- }, /*#__PURE__*/React.createElement(SettingsIcon, null)), isOpen && portalTarget && /*#__PURE__*/ReactDOM.createPortal(popupContent, portalTarget));
246
+ }, labels.save)))));
298
247
  };
299
248
  export default ColumnToggle;
@@ -35,7 +35,8 @@ var TooltipComponent = function TooltipComponent(_ref) {
35
35
  }
36
36
  }, children), /*#__PURE__*/React.createElement("span", {
37
37
  ref: dropRef,
38
- className: 'tooltiptext'
38
+ className: "tooltiptext",
39
+ dir: "auto"
39
40
  }, title));
40
41
  };
41
42
  export default TooltipComponent;
@@ -51,7 +51,11 @@ var VerticalMenuDropdown = function VerticalMenuDropdown(_ref) {
51
51
  var menuHeight = visibleItems.length * 40;
52
52
  var spaceBelow = window.innerHeight - rect.bottom;
53
53
  var openBelow = spaceBelow >= menuHeight + menuGap;
54
- var left = rect.left;
54
+ var isRtl = (document.documentElement.getAttribute('dir') || document.body.getAttribute('dir') || getComputedStyle(document.documentElement).direction) === 'rtl';
55
+ var left = isRtl ? rect.left : rect.left - menuWidth;
56
+ if (!isRtl && left < viewportPadding) {
57
+ left = rect.left;
58
+ }
55
59
  if (left + menuWidth > window.innerWidth - viewportPadding) {
56
60
  left = Math.max(viewportPadding, rect.right - menuWidth);
57
61
  }
@@ -165,7 +169,7 @@ var VerticalMenuDropdown = function VerticalMenuDropdown(_ref) {
165
169
  className: "inline-block vertical-menu-dropdown-wrapper"
166
170
  }, visibleCount > 0 && /*#__PURE__*/React.createElement("button", {
167
171
  type: "button",
168
- className: "vertical-menu-trigger-button p-2 rounded text-base-gray hover:bg-gray-light-1 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",
172
+ className: "vertical-menu-trigger-button",
169
173
  onClick: function onClick(event) {
170
174
  event.stopPropagation();
171
175
  if (openMenu) {
@@ -381,16 +381,45 @@
381
381
  display: inline-flex;
382
382
  align-items: center;
383
383
  justify-content: center;
384
+ width: 100%;
385
+
386
+ > button {
387
+ display: inline-flex;
388
+ align-items: center;
389
+ justify-content: center;
390
+ padding: 0;
391
+ margin: 0;
392
+ border: none;
393
+ background: transparent;
394
+ cursor: pointer;
395
+ color: #585858;
396
+
397
+ svg {
398
+ width: 20px;
399
+ height: 20px;
400
+ }
401
+
402
+ &:hover,
403
+ &:focus {
404
+ background: transparent;
405
+ outline: none;
406
+ }
407
+ }
384
408
  }
385
409
 
386
410
  .qbs-table-column-popup {
387
- position: fixed;
411
+ position: absolute;
412
+ top: calc(100% + 4px);
413
+ inset-inline-end: 0;
414
+ inset-inline-start: auto;
388
415
  padding: 8px;
389
416
  z-index: 10060;
390
417
  border-radius: 8px;
391
418
  background: #fff;
392
419
  box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15);
393
- min-width: 272px;
420
+ min-width: 300px;
421
+ width: max-content;
422
+ max-width: min(400px, calc(100vw - 16px));
394
423
  gap: 4px;
395
424
  display: flex;
396
425
  flex-direction: column;
@@ -413,10 +442,6 @@
413
442
 
414
443
  .qbs-table-columns-container {
415
444
  display: flex;
416
- flex-direction: row;
417
- }
418
-
419
- .qbs-table-column-popup--rtl .qbs-table-columns-container {
420
445
  flex-direction: row-reverse;
421
446
  }
422
447
 
@@ -429,6 +454,10 @@
429
454
  padding: 4px 0 0;
430
455
  }
431
456
 
457
+ .qbs-table-column-popup--rtl {
458
+ text-align: right;
459
+ }
460
+
432
461
  .qbs-table-column-popup--rtl .qbs-table-popup-footer {
433
462
  flex-direction: row-reverse;
434
463
  }
@@ -132,7 +132,10 @@ var QbsTable = function QbsTable(_ref) {
132
132
  var labels = (0, _react.useMemo)(function () {
133
133
  return (0, _labels.mergeQbsTableLabels)(labelsProp);
134
134
  }, [labelsProp]);
135
- var pinSide = rtl ? 'left' : 'right';
135
+ var effectiveWordWrap = (0, _react.useMemo)(function () {
136
+ if (!rowViewToggle) return wordWrap;
137
+ return defaultRowView ? wordWrap : 'break-word';
138
+ }, [rowViewToggle, defaultRowView, wordWrap]);
136
139
  var _useState = (0, _react.useState)(false),
137
140
  loading = _useState[0],
138
141
  setLoading = _useState[1];
@@ -155,6 +158,16 @@ var QbsTable = function QbsTable(_ref) {
155
158
  setTableViewToggle = _useState5[1];
156
159
  var isMobile = (0, _useResponsiveStore["default"])();
157
160
  var tableBodyRef = (0, _react.useRef)(null);
161
+ var _useState6 = (0, _react.useState)(0),
162
+ rowViewRefreshKey = _useState6[0],
163
+ setRowViewRefreshKey = _useState6[1];
164
+ (0, _react.useEffect)(function () {
165
+ if (rowViewToggle) {
166
+ setRowViewRefreshKey(function (key) {
167
+ return key + 1;
168
+ });
169
+ }
170
+ }, [defaultRowView, rowViewToggle]);
158
171
  var handleSortColumn = (0, _react.useCallback)(function (sortColumn, sortType) {
159
172
  setLoading(true);
160
173
  setTimeout(function () {
@@ -591,13 +604,13 @@ var QbsTable = function QbsTable(_ref) {
591
604
  className: "qbs-table-border-wrap"
592
605
  }, tableViewToggle ? /*#__PURE__*/_react["default"].createElement(_Table["default"], {
593
606
  height: autoHeight ? undefined : height,
594
- key: tableKey,
607
+ key: tableKey + "-" + rowViewRefreshKey,
595
608
  tableKey: tableKey,
596
609
  rtl: rtl,
597
610
  data: data,
598
611
  tableBodyRef: tableBodyRef,
599
612
  dataTheme: dataTheme,
600
- wordWrap: wordWrap,
613
+ wordWrap: effectiveWordWrap,
601
614
  autoHeight: autoHeight,
602
615
  sortColumn: sortColumn,
603
616
  style: {
@@ -703,7 +716,7 @@ var QbsTable = function QbsTable(_ref) {
703
716
  getToolTip: customRowStatus.getToolTip
704
717
  })), columnsRendered, !actionProps || (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) === 0 && columnToggle && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
705
718
  width: 40,
706
- fixed: pinSide
719
+ fixed: "right"
707
720
  }, /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {
708
721
  verticalAlign: findGrouped() ? 'middle' : undefined,
709
722
  className: " " + classes.headerlClass,
@@ -722,7 +735,7 @@ var QbsTable = function QbsTable(_ref) {
722
735
  rtl: rtl
723
736
  })), /*#__PURE__*/_react["default"].createElement(_Cell["default"], null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
724
737
  width: 40,
725
- fixed: pinSide
738
+ fixed: "right"
726
739
  }, /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {
727
740
  verticalAlign: findGrouped() ? 'middle' : undefined,
728
741
  className: " " + classes.headerlClass,
@@ -116,7 +116,10 @@ var QbsTable = function QbsTable(_ref) {
116
116
  var labels = (0, _react.useMemo)(function () {
117
117
  return (0, _labels.mergeQbsTableLabels)(labelsProp);
118
118
  }, [labelsProp]);
119
- var pinSide = rtl ? 'left' : 'right';
119
+ var effectiveWordWrap = (0, _react.useMemo)(function () {
120
+ if (!rowViewToggle) return wordWrap;
121
+ return defaultRowView ? wordWrap : 'break-word';
122
+ }, [rowViewToggle, defaultRowView, wordWrap]);
120
123
  var _useState = (0, _react.useState)(false),
121
124
  loading = _useState[0],
122
125
  setLoading = _useState[1];
@@ -455,7 +458,7 @@ var QbsTable = function QbsTable(_ref) {
455
458
  data: data,
456
459
  tableBodyRef: tableBodyRef,
457
460
  dataTheme: dataTheme,
458
- wordWrap: wordWrap,
461
+ wordWrap: effectiveWordWrap,
459
462
  autoHeight: autoHeight,
460
463
  sortColumn: sortColumn,
461
464
  style: {
@@ -560,7 +563,7 @@ var QbsTable = function QbsTable(_ref) {
560
563
  getToolTip: customRowStatus.getToolTip
561
564
  })), columnsRendered, !actionProps || (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) === 0 && columnToggle && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
562
565
  width: 40,
563
- fixed: pinSide
566
+ fixed: "right"
564
567
  }, /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {
565
568
  verticalAlign: findGrouped() ? 'middle' : undefined,
566
569
  className: " " + classes.headerlClass,
@@ -579,7 +582,7 @@ var QbsTable = function QbsTable(_ref) {
579
582
  rtl: rtl
580
583
  })), /*#__PURE__*/_react["default"].createElement(_Cell["default"], null)), actionProps && (actionProps === null || actionProps === void 0 ? void 0 : actionProps.length) > 0 && /*#__PURE__*/_react["default"].createElement(_Column["default"], {
581
584
  width: 40,
582
- fixed: pinSide
585
+ fixed: "right"
583
586
  }, /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {
584
587
  verticalAlign: findGrouped() ? 'middle' : undefined,
585
588
  className: " " + classes.headerlClass,