@carbon/ibm-products 2.0.0-rc.16 → 2.0.0-rc.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. package/css/index-full-carbon.css +20 -5
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +413 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +20 -5
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +1 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +20 -5
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +1 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -3
  18. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +1 -4
  19. package/es/components/Datagrid/Datagrid/DatagridHead.js +1 -2
  20. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +1 -4
  21. package/es/components/Datagrid/Datagrid/DatagridRow.js +1 -3
  22. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +1 -2
  23. package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -2
  24. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +1 -2
  25. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +1 -2
  26. package/es/components/Datagrid/Datagrid/DraggableElement.js +8 -4
  27. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +7 -2
  28. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +1 -1
  29. package/es/components/Datagrid/useSelectRows.js +1 -2
  30. package/es/components/Datagrid/utils/DatagridActions.js +1 -4
  31. package/es/global/js/package-settings.js +2 -2
  32. package/lib/components/Datagrid/Datagrid/DatagridContent.js +2 -4
  33. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +2 -5
  34. package/lib/components/Datagrid/Datagrid/DatagridHead.js +1 -3
  35. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +2 -5
  36. package/lib/components/Datagrid/Datagrid/DatagridRow.js +2 -4
  37. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +2 -3
  38. package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +1 -2
  39. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +2 -3
  40. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +1 -2
  41. package/lib/components/Datagrid/Datagrid/DraggableElement.js +7 -3
  42. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +7 -2
  43. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +1 -1
  44. package/lib/components/Datagrid/useSelectRows.js +1 -2
  45. package/lib/components/Datagrid/utils/DatagridActions.js +3 -6
  46. package/lib/global/js/package-settings.js +2 -2
  47. package/package.json +2 -2
  48. package/scss/components/Datagrid/styles/_draggableElement.scss +18 -4
  49. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +5 -1
  50. package/scss/components/MultiAddSelect/_multi-add-select.scss +1 -1
  51. package/scss/components/SingleAddSelect/_single-add-select.scss +1 -1
  52. package/scss/components/_index-released-only-with-carbon.scss +2 -0
  53. package/scss/components/_index-released-only.scss +2 -0
@@ -10,7 +10,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
10
  import React, { useContext, useEffect, useRef } from 'react';
11
11
  import cx from 'classnames';
12
12
  import PropTypes from 'prop-types';
13
- import { DataTable } from '@carbon/react';
13
+ import { Table, TableContainer } from '@carbon/react';
14
14
  import { px } from '@carbon/layout';
15
15
  import DatagridHead from './DatagridHead';
16
16
  import DatagridBody from './DatagridBody';
@@ -21,8 +21,6 @@ import { InlineEditContext } from './addons/InlineEdit/InlineEditContext';
21
21
  import { handleGridFocus } from './addons/InlineEdit/handleGridFocus';
22
22
  import { useClickOutside } from '../../../global/js/hooks';
23
23
  import { useMultipleKeyTracking } from '../../DataSpreadsheet/hooks';
24
- var TableContainer = DataTable.TableContainer,
25
- Table = DataTable.Table;
26
24
  var blockClass = "".concat(pkg.prefix, "--datagrid");
27
25
  export var DatagridContent = function DatagridContent(_ref) {
28
26
  var _cx4;
@@ -9,12 +9,9 @@ import _extends from "@babel/runtime/helpers/extends";
9
9
  */
10
10
  import React from 'react';
11
11
  import { pkg } from '../../../settings';
12
- import { DataTable } from '@carbon/react';
12
+ import { TableBody, TableRow, TableCell } from '@carbon/react';
13
13
  import { NoDataEmptyState, ErrorEmptyState } from '../../EmptyStates';
14
14
  var blockClass = "".concat(pkg.prefix, "--datagrid");
15
- var TableBody = DataTable.TableBody,
16
- TableRow = DataTable.TableRow,
17
- TableCell = DataTable.TableCell;
18
15
 
19
16
  var DatagridEmptyBody = function DatagridEmptyBody(datagridState) {
20
17
  var getTableBodyProps = datagridState.getTableBodyProps,
@@ -5,8 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React from 'react';
8
- import { DataTable } from '@carbon/react';
9
- var TableHead = DataTable.TableHead;
8
+ import { TableHead } from '@carbon/react';
10
9
 
11
10
  var DatagridHead = function DatagridHead(datagridState) {
12
11
  var _datagridState$header = datagridState.headerGroups,
@@ -10,7 +10,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
10
  // @flow
11
11
  import React from 'react';
12
12
  import cx from 'classnames';
13
- import { DataTable } from '@carbon/react';
13
+ import { TableHeader, TableRow } from '@carbon/react';
14
14
  import { selectionColumnId } from '../common-column-ids';
15
15
  import { pkg } from '../../../settings';
16
16
  var blockClass = "".concat(pkg.prefix, "--datagrid");
@@ -41,9 +41,6 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
41
41
  }));
42
42
  };
43
43
 
44
- var TableHeader = DataTable.TableHeader,
45
- TableRow = DataTable.TableRow;
46
-
47
44
  var useHeaderRow = function useHeaderRow(hooks) {
48
45
  var useInstance = function useInstance(instance) {
49
46
  Object.assign(instance, {
@@ -12,14 +12,12 @@ var _excluded = ["children"];
12
12
  */
13
13
  // @flow
14
14
  import React from 'react';
15
- import { DataTable, SkeletonText } from '@carbon/react';
15
+ import { TableRow, TableCell, SkeletonText } from '@carbon/react';
16
16
  import { px } from '@carbon/layout';
17
17
  import { selectionColumnId } from '../common-column-ids';
18
18
  import cx from 'classnames';
19
19
  import { pkg, carbon } from '../../../settings';
20
20
  var blockClass = "".concat(pkg.prefix, "--datagrid");
21
- var TableRow = DataTable.TableRow,
22
- TableCell = DataTable.TableCell;
23
21
  var rowHeights = {
24
22
  xs: 24,
25
23
  sm: 32,
@@ -12,7 +12,7 @@ var _excluded = ["onChange"];
12
12
  */
13
13
  // @flow
14
14
  import React from 'react';
15
- import { DataTable } from '@carbon/react';
15
+ import { TableSelectAll } from '@carbon/react';
16
16
  import cx from 'classnames';
17
17
  import { pkg } from '../../../settings';
18
18
  var blockClass = "".concat(pkg.prefix, "--datagrid");
@@ -53,5 +53,4 @@ var SelectAll = function SelectAll(datagridState) {
53
53
  })));
54
54
  };
55
55
 
56
- var TableSelectAll = DataTable.TableSelectAll;
57
56
  export { SelectAll };
@@ -13,11 +13,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
13
13
  * restricted by GSA ADP Schedule Contract with IBM Corp.
14
14
  */
15
15
  import React from 'react';
16
- import { DataTable } from '@carbon/react';
16
+ import { TableBody } from '@carbon/react';
17
17
  import cx from 'classnames';
18
18
  import { pkg } from '../../../settings';
19
19
  var blockClass = "".concat(pkg.prefix, "--datagrid");
20
- var TableBody = DataTable.TableBody;
21
20
 
22
21
  var DatagridSimpleBody = function DatagridSimpleBody(datagridState) {
23
22
  var getTableBodyProps = datagridState.getTableBodyProps,
@@ -9,7 +9,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
9
9
  */
10
10
  import React, { useEffect, useState, useContext } from 'react';
11
11
  import { Add, OverflowMenuVertical } from '@carbon/react/icons';
12
- import { DataTable, TableBatchActions, TableBatchAction } from '@carbon/react';
12
+ import { TableToolbar, TableBatchActions, TableBatchAction } from '@carbon/react';
13
13
  import { useResizeDetector } from 'react-resize-detector';
14
14
  import { ButtonMenu, ButtonMenuItem } from '../../ButtonMenu';
15
15
  import { pkg, carbon } from '../../../settings';
@@ -18,7 +18,6 @@ import { FilterSummary } from '../../FilterSummary';
18
18
  import { FilterContext } from './addons/Filtering/FilterProvider';
19
19
  import { CLEAR_FILTERS } from './addons/Filtering/constants';
20
20
  var blockClass = "".concat(pkg.prefix, "--datagrid");
21
- var TableToolbar = DataTable.TableToolbar;
22
21
 
23
22
  var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridState, width, ref) {
24
23
  var _useState = useState(false),
@@ -14,12 +14,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
14
14
  */
15
15
  import React, { useEffect } from 'react';
16
16
  import { VariableSizeList } from 'react-window';
17
- import { DataTable } from '@carbon/react';
17
+ import { TableBody } from '@carbon/react';
18
18
  import { pkg } from '../../../settings';
19
19
  import DatagridHead from './DatagridHead';
20
20
  import { px } from '@carbon/layout';
21
21
  var blockClass = "".concat(pkg.prefix, "--datagrid");
22
- var TableBody = DataTable.TableBody;
23
22
  var rowSizeMap = {
24
23
  xs: 24,
25
24
  sm: 32,
@@ -11,7 +11,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
11
11
  */
12
12
  import * as React from 'react';
13
13
  import PropTypes from 'prop-types';
14
- import { Draggable } from '@carbon/react/icons';
14
+ import { Draggable, Locked } from '@carbon/react/icons';
15
15
  import { useDrag, useDrop } from 'react-dnd';
16
16
  import cx from 'classnames';
17
17
  import { pkg } from '../../../settings';
@@ -34,6 +34,7 @@ var DraggableElement = function DraggableElement(_ref) {
34
34
  onGrab = _ref.onGrab,
35
35
  onArrowKeyDown = _ref.onArrowKeyDown,
36
36
  isFocused = _ref.isFocused,
37
+ isSticky = _ref.isSticky,
37
38
  moveElement = _ref.moveElement,
38
39
  selected = _ref.selected,
39
40
  _ref$positionLabel = _ref.positionLabel,
@@ -120,11 +121,13 @@ var DraggableElement = function DraggableElement(_ref) {
120
121
  className: cx({
121
122
  disabled: disabled
122
123
  }, "".concat(blockClass, "__draggable-handleStyle"))
123
- }, /*#__PURE__*/React.createElement(Draggable, {
124
+ }, isSticky ? /*#__PURE__*/React.createElement(Locked, {
125
+ size: 16
126
+ }) : /*#__PURE__*/React.createElement(Draggable, {
124
127
  size: 16
125
128
  })), children);
126
129
  return /*#__PURE__*/React.createElement("li", {
127
- className: cx((_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
130
+ className: cx((_cx = {}, _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder--sticky"), isSticky), _defineProperty(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
128
131
  ref: ref,
129
132
  "aria-selected": isFocused,
130
133
  role: "option",
@@ -155,7 +158,7 @@ var DraggableElement = function DraggableElement(_ref) {
155
158
  className: "".concat(blockClass, "__shared-ui--assistive-text")
156
159
  }, ariaLabel), isDragging && !isOver ? /*#__PURE__*/React.createElement("div", {
157
160
  ref: preview,
158
- className: "${blockClass}__draggable-handleHolder-droppable"
161
+ className: "".concat(blockClass, "__draggable-handleHolder-droppable ").concat(blockClass, "__draggable-handleHolder-droppable--origin")
159
162
  }, content) : /*#__PURE__*/React.createElement("div", {
160
163
  ref: drag,
161
164
  "aria-hidden": isFocused && isFocusedOnItem // if focus on li, hide the children from aria
@@ -173,6 +176,7 @@ DraggableElement.propTypes = {
173
176
  id: PropTypes.string.isRequired,
174
177
  index: PropTypes.number.isRequired,
175
178
  isFocused: PropTypes.bool.isRequired,
179
+ isSticky: PropTypes.bool,
176
180
  listData: PropTypes.array.isRequired,
177
181
  moveElement: PropTypes.func.isRequired,
178
182
  onArrowKeyDown: PropTypes.func.isRequired,
@@ -103,9 +103,11 @@ var Columns = function Columns(_ref) {
103
103
  var res = filterString.length ? colDef.Header.props.title.toLowerCase().split(searchString) : null;
104
104
  var firstWord = res !== null ? res[0] === '' ? res[1].charAt(0).toUpperCase() + res[1].substring(1) : res[0].charAt(0).toUpperCase() + res[0].substring(1) : null;
105
105
  var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : colDef.Header.props.title;
106
+ var isFrozenColumn = !!colDef.sticky;
106
107
  var listContents = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, {
107
108
  className: cx("".concat(blockClass, "__customize-columns-checkbox-wrapper"), "".concat(blockClass, "__customize-columns-checkbox")),
108
109
  checked: isColumnVisible(colDef),
110
+ disabled: isFrozenColumn,
109
111
  onChange: function onChange(_, _ref2) {
110
112
  var checked = _ref2.checked;
111
113
  return onSelectColumn(colDef, checked);
@@ -126,18 +128,21 @@ var Columns = function Columns(_ref) {
126
128
  setListData: setColumnsObject,
127
129
  id: "dnd-datagrid-columns-".concat(colDef.id),
128
130
  type: "column-customization",
129
- disabled: filterString.length > 0,
131
+ disabled: filterString.length > 0 || isFrozenColumn,
130
132
  ariaLabel: colDef.Header.props.title,
131
133
  onGrab: setAriaRegionText,
132
134
  isFocused: focusIndex === i,
135
+ isSticky: isFrozenColumn,
133
136
  moveElement: moveElement,
134
137
  onArrowKeyDown: function onArrowKeyDown(e, isGrabbed, currentIndex) {
135
138
  if (isGrabbed) {
139
+ var _columns$nextIndex;
140
+
136
141
  var nextIndex = getNextIndex(columns, currentIndex, e.key);
137
142
  e.preventDefault();
138
143
  e.stopPropagation();
139
144
 
140
- if (nextIndex >= 0) {
145
+ if (nextIndex >= 0 && !((_columns$nextIndex = columns[nextIndex]) !== null && _columns$nextIndex !== void 0 && _columns$nextIndex.sticky)) {
141
146
  setFocusIndex(nextIndex);
142
147
  moveElement(currentIndex, nextIndex);
143
148
  e.target.scrollIntoView({
@@ -63,7 +63,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
63
63
 
64
64
  var _useState7 = useState(columnDefinitions // hide the columns without Header, e.g the sticky actions, spacer
65
65
  .filter(function (colDef) {
66
- return !!colDef.Header.props;
66
+ return !!colDef.Header.props && !colDef.isAction;
67
67
  }) // only sort the hidden column to the end when modal reopen
68
68
  .sort(function (defA, defB) {
69
69
  var isVisibleA = isColumnVisible(defA);
@@ -18,11 +18,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
18
18
  // @flow
19
19
  import React from 'react';
20
20
  import cx from 'classnames';
21
- import { DataTable } from '@carbon/react';
21
+ import { TableSelectRow } from '@carbon/react';
22
22
  import { SelectAll } from './Datagrid/DatagridSelectAll';
23
23
  import { selectionColumnId } from './common-column-ids';
24
24
  import { pkg, carbon } from '../../settings';
25
- var TableSelectRow = DataTable.TableSelectRow;
26
25
  var blockClass = "".concat(pkg.prefix, "--datagrid");
27
26
 
28
27
  var useSelectRows = function useSelectRows(hooks) {
@@ -7,7 +7,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
9
  import React, { useLayoutEffect, useState } from 'react';
10
- import { DataTable, Button, OverflowMenu, OverflowMenuItem, ComposedModal, ModalBody, ModalHeader, ModalFooter, Dropdown } from '@carbon/react';
10
+ import { TableToolbarContent, TableToolbarSearch, Button, OverflowMenu, OverflowMenuItem, ComposedModal, ModalBody, ModalHeader, ModalFooter, Dropdown } from '@carbon/react';
11
11
  import { Download, Add, Restart, ChevronDown } from '@carbon/react/icons';
12
12
  import { action } from '@storybook/addon-actions';
13
13
  import { pkg } from '../../../settings';
@@ -28,9 +28,6 @@ export var DatagridActions = function DatagridActions(datagridState) {
28
28
  alert('Downloading...');
29
29
  };
30
30
 
31
- var TableToolbarContent = DataTable.TableToolbarContent,
32
- TableToolbarSearch = DataTable.TableToolbarSearch;
33
-
34
31
  var refreshColumns = function refreshColumns() {
35
32
  alert('refreshing...');
36
33
  };
@@ -37,6 +37,7 @@ var defaults = {
37
37
  ImportModal: true,
38
38
  InlineEdit: true,
39
39
  InlineEditV1: true,
40
+ MultiAddSelect: true,
40
41
  NotificationsPanel: true,
41
42
  NoDataEmptyState: true,
42
43
  NoTagsEmptyState: true,
@@ -48,6 +49,7 @@ var defaults = {
48
49
  RemoveModal: true,
49
50
  Saving: true,
50
51
  SidePanel: true,
52
+ SingleAddSelect: true,
51
53
  StatusIcon: true,
52
54
  TagSet: true,
53
55
  Tearsheet: true,
@@ -58,8 +60,6 @@ var defaults = {
58
60
  WebTerminalContentWrapper: true,
59
61
  WebTerminalProvider: true,
60
62
  // other public components not yet reviewed and released:
61
- MultiAddSelect: false,
62
- SingleAddSelect: false,
63
63
  ModifiedTabs: false,
64
64
  Toolbar: false,
65
65
  ToolbarButton: false,
@@ -51,8 +51,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
51
51
  * This source code is licensed under the Apache-2.0 license found in the
52
52
  * LICENSE file in the root directory of this source tree.
53
53
  */
54
- var TableContainer = _react2.DataTable.TableContainer,
55
- Table = _react2.DataTable.Table;
56
54
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
57
55
 
58
56
  var DatagridContent = function DatagridContent(_ref) {
@@ -110,7 +108,7 @@ var DatagridContent = function DatagridContent(_ref) {
110
108
  var renderTable = function renderTable() {
111
109
  var _getTableProps;
112
110
 
113
- return /*#__PURE__*/_react.default.createElement(Table, (0, _extends2.default)({}, getTableProps(), {
111
+ return /*#__PURE__*/_react.default.createElement(_react2.Table, (0, _extends2.default)({}, getTableProps(), {
114
112
  className: (0, _classnames.default)(withVirtualScroll ? '' : "".concat(blockClass, "__table-simple"), "".concat(blockClass, "__vertical-align-").concat(verticalAlign), (0, _defineProperty2.default)({}, "".concat(blockClass, "__variable-row-height"), variableRowHeight), (0, _defineProperty2.default)({}, "".concat(blockClass, "__table-with-inline-edit"), withInlineEdit), (0, _defineProperty2.default)({}, "".concat(blockClass, "__table-grid-active"), gridActive), (_getTableProps = getTableProps()) === null || _getTableProps === void 0 ? void 0 : _getTableProps.className),
115
113
  role: withInlineEdit && 'grid',
116
114
  tabIndex: withInlineEdit && 0,
@@ -154,7 +152,7 @@ var DatagridContent = function DatagridContent(_ref) {
154
152
  gridElement.style.setProperty("--".concat(blockClass, "--grid-header-height"), (0, _layout.px)((tableHeader === null || tableHeader === void 0 ? void 0 : tableHeader.clientHeight) || 0));
155
153
  }
156
154
  }, [withInlineEdit, tableId, totalColumnsWidth, datagridState, gridActive]);
157
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(TableContainer, {
155
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.TableContainer, {
158
156
  className: (0, _classnames.default)("".concat(blockClass, "__grid-container"), withVirtualScroll || fullHeightDatagrid ? "".concat(blockClass, "__full-height") : '', DatagridPagination ? "".concat(blockClass, "__with-pagination") : '', useDenseHeader ? "".concat(blockClass, "__dense-header") : '', (_cx4 = {}, (0, _defineProperty2.default)(_cx4, "".concat(blockClass, "__grid-container-grid-active"), gridActive), (0, _defineProperty2.default)(_cx4, "".concat(blockClass, "__grid-container-inline-edit"), withInlineEdit), (0, _defineProperty2.default)(_cx4, "".concat(blockClass, "__grid-container-grid-active--without-toolbar"), withInlineEdit && !DatagridActions), _cx4)),
159
157
  title: gridTitle,
160
158
  description: gridDescription
@@ -25,9 +25,6 @@ var _EmptyStates = require("../../EmptyStates");
25
25
  * restricted by GSA ADP Schedule Contract with IBM Corp.
26
26
  */
27
27
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
28
- var TableBody = _react2.DataTable.TableBody,
29
- TableRow = _react2.DataTable.TableRow,
30
- TableCell = _react2.DataTable.TableCell;
31
28
 
32
29
  var DatagridEmptyBody = function DatagridEmptyBody(datagridState) {
33
30
  var getTableBodyProps = datagridState.getTableBodyProps,
@@ -40,9 +37,9 @@ var DatagridEmptyBody = function DatagridEmptyBody(datagridState) {
40
37
  illustrationTheme = datagridState.illustrationTheme,
41
38
  emptyStateAction = datagridState.emptyStateAction,
42
39
  emptyStateLink = datagridState.emptyStateLink;
43
- return /*#__PURE__*/_react.default.createElement(TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
40
+ return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
44
41
  className: "".concat(blockClass, "__empty-state-body")
45
- }), /*#__PURE__*/_react.default.createElement(TableRow, null, /*#__PURE__*/_react.default.createElement(TableCell, {
42
+ }), /*#__PURE__*/_react.default.createElement(_react2.TableRow, null, /*#__PURE__*/_react.default.createElement(_react2.TableCell, {
46
43
  colSpan: headers.length
47
44
  }, emptyStateType === 'error' && /*#__PURE__*/_react.default.createElement(_EmptyStates.ErrorEmptyState, {
48
45
  illustrationTheme: illustrationTheme,
@@ -17,14 +17,12 @@ var _react2 = require("@carbon/react");
17
17
  * This source code is licensed under the Apache-2.0 license found in the
18
18
  * LICENSE file in the root directory of this source tree.
19
19
  */
20
- var TableHead = _react2.DataTable.TableHead;
21
-
22
20
  var DatagridHead = function DatagridHead(datagridState) {
23
21
  var _datagridState$header = datagridState.headerGroups,
24
22
  headerGroups = _datagridState$header === void 0 ? [] : _datagridState$header,
25
23
  headRef = datagridState.headRef,
26
24
  HeaderRow = datagridState.HeaderRow;
27
- return /*#__PURE__*/_react.default.createElement(TableHead, null, headerGroups.map(function (headerGroup) {
25
+ return /*#__PURE__*/_react.default.createElement(_react2.TableHead, null, headerGroups.map(function (headerGroup) {
28
26
  return (// doesn't support header grouping.
29
27
  HeaderRow(datagridState, headRef, headerGroup)
30
28
  );
@@ -31,7 +31,7 @@ var _settings = require("../../../settings");
31
31
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
32
32
 
33
33
  var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
34
- return /*#__PURE__*/_react.default.createElement(TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps(), {
34
+ return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps(), {
35
35
  className: (0, _classnames.default)("".concat(blockClass, "__head"), headerGroup.getHeaderGroupProps().className),
36
36
  ref: headRef
37
37
  }), datagridState.headers.filter(function (_ref) {
@@ -47,7 +47,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
47
47
  });
48
48
  }
49
49
 
50
- return /*#__PURE__*/_react.default.createElement(TableHeader, (0, _extends2.default)({}, header.getHeaderProps(), {
50
+ return /*#__PURE__*/_react.default.createElement(_react2.TableHeader, (0, _extends2.default)({}, header.getHeaderProps(), {
51
51
  className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__resizableColumn"), header.getResizerProps), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isResizing"), header.isResizing), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__sortableColumn"), header.canSort), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isSorted"), header.isSorted), _cx), header.getHeaderProps().className),
52
52
  key: header.id
53
53
  }), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, header.getResizerProps(), {
@@ -56,9 +56,6 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
56
56
  }));
57
57
  };
58
58
 
59
- var TableHeader = _react2.DataTable.TableHeader,
60
- TableRow = _react2.DataTable.TableRow;
61
-
62
59
  var useHeaderRow = function useHeaderRow(hooks) {
63
60
  var useInstance = function useInstance(instance) {
64
61
  Object.assign(instance, {
@@ -27,8 +27,6 @@ var _settings = require("../../../settings");
27
27
 
28
28
  var _excluded = ["children"];
29
29
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
30
- var TableRow = _react2.DataTable.TableRow,
31
- TableCell = _react2.DataTable.TableCell;
32
30
  var rowHeights = {
33
31
  xs: 24,
34
32
  sm: 32,
@@ -59,7 +57,7 @@ var DatagridRow = function DatagridRow(datagridState) {
59
57
  return size;
60
58
  };
61
59
 
62
- return /*#__PURE__*/_react.default.createElement(TableRow, (0, _extends2.default)({
60
+ return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({
63
61
  className: (0, _classnames.default)("".concat(blockClass, "__carbon-row"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), (0, _defineProperty2.default)(_cx, "".concat(_settings.carbon.prefix, "--data-table--selected"), row.isSelected), _cx))
64
62
  }, row.getRowProps(), {
65
63
  key: row.id,
@@ -98,7 +96,7 @@ var DatagridRow = function DatagridRow(datagridState) {
98
96
  });
99
97
  }
100
98
 
101
- return /*#__PURE__*/_react.default.createElement(TableCell, (0, _extends2.default)({
99
+ return /*#__PURE__*/_react.default.createElement(_react2.TableCell, (0, _extends2.default)({
102
100
  className: (0, _classnames.default)("".concat(blockClass, "__cell"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__expandable-row-cell"), row.canExpand && index === 0))
103
101
  }, restProps, {
104
102
  key: cell.column.id
@@ -52,7 +52,7 @@ var SelectAll = function SelectAll(datagridState) {
52
52
 
53
53
  return /*#__PURE__*/_react.default.createElement("div", {
54
54
  className: (0, _classnames.default)("".concat(blockClass, "__head-select-all"), "".concat(blockClass, "__checkbox-cell"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), isFirstColumnStickyLeft))
55
- }, /*#__PURE__*/_react.default.createElement(TableSelectAll, (0, _extends2.default)({}, selectProps, {
55
+ }, /*#__PURE__*/_react.default.createElement(_react2.TableSelectAll, (0, _extends2.default)({}, selectProps, {
56
56
  name: "".concat(tableId, "-select-all-checkbox-name"),
57
57
  onSelect: onChange,
58
58
  disabled: isFetching || selectProps.disabled,
@@ -60,5 +60,4 @@ var SelectAll = function SelectAll(datagridState) {
60
60
  })));
61
61
  };
62
62
 
63
- exports.SelectAll = SelectAll;
64
- var TableSelectAll = _react2.DataTable.TableSelectAll;
63
+ exports.SelectAll = SelectAll;
@@ -24,13 +24,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
24
24
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
25
 
26
26
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
27
- var TableBody = _react2.DataTable.TableBody;
28
27
 
29
28
  var DatagridSimpleBody = function DatagridSimpleBody(datagridState) {
30
29
  var getTableBodyProps = datagridState.getTableBodyProps,
31
30
  rows = datagridState.rows,
32
31
  prepareRow = datagridState.prepareRow;
33
- return /*#__PURE__*/_react.default.createElement(TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
32
+ return /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
34
33
  className: (0, _classnames.default)("".concat(blockClass, "__simple-body"), getTableBodyProps().className)
35
34
  }), rows.map(function (row) {
36
35
  prepareRow(row);
@@ -44,7 +44,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
44
44
  * LICENSE file in the root directory of this source tree.
45
45
  */
46
46
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
47
- var TableToolbar = _react2.DataTable.TableToolbar;
48
47
 
49
48
  var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridState, width, ref) {
50
49
  var _useState = (0, _react.useState)(false),
@@ -191,9 +190,9 @@ var DatagridToolbar = function DatagridToolbar(datagridState) {
191
190
  return batchActions && DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
192
191
  ref: ref,
193
192
  className: (0, _classnames.default)("".concat(blockClass, "__table-toolbar"), "".concat(blockClass, "__table-toolbar--").concat(getRowHeight))
194
- }, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref)), renderFilterSummary()) : DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
193
+ }, /*#__PURE__*/_react.default.createElement(_react2.TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref)), renderFilterSummary()) : DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
195
194
  className: "".concat(blockClass, "__table-toolbar")
196
- }, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActions && DatagridBatchActions(datagridState)), renderFilterSummary()) : null;
195
+ }, /*#__PURE__*/_react.default.createElement(_react2.TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActions && DatagridBatchActions(datagridState)), renderFilterSummary()) : null;
197
196
  };
198
197
 
199
198
  var _default = DatagridToolbar;
@@ -34,7 +34,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
34
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
35
 
36
36
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
37
- var TableBody = _react2.DataTable.TableBody;
38
37
  var rowSizeMap = {
39
38
  xs: 24,
40
39
  sm: 32,
@@ -90,7 +89,7 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
90
89
  width: (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.clientWidth,
91
90
  overflow: 'hidden'
92
91
  }
93
- }, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
92
+ }, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(_react2.TableBody, (0, _extends2.default)({}, getTableBodyProps(), {
94
93
  onScroll: function onScroll(e) {
95
94
  return syncScroll(e);
96
95
  }
@@ -57,6 +57,7 @@ var DraggableElement = function DraggableElement(_ref) {
57
57
  onGrab = _ref.onGrab,
58
58
  onArrowKeyDown = _ref.onArrowKeyDown,
59
59
  isFocused = _ref.isFocused,
60
+ isSticky = _ref.isSticky,
60
61
  moveElement = _ref.moveElement,
61
62
  selected = _ref.selected,
62
63
  _ref$positionLabel = _ref.positionLabel,
@@ -143,11 +144,13 @@ var DraggableElement = function DraggableElement(_ref) {
143
144
  className: (0, _classnames.default)({
144
145
  disabled: disabled
145
146
  }, "".concat(blockClass, "__draggable-handleStyle"))
146
- }, /*#__PURE__*/React.createElement(_icons.Draggable, {
147
+ }, isSticky ? /*#__PURE__*/React.createElement(_icons.Locked, {
148
+ size: 16
149
+ }) : /*#__PURE__*/React.createElement(_icons.Draggable, {
147
150
  size: 16
148
151
  })), children);
149
152
  return /*#__PURE__*/React.createElement("li", {
150
- className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
153
+ className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-isOver"), isOver && !disabled), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-grabbed"), isGrabbed), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder-selected"), selected), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder--sticky"), isSticky), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__draggable-handleHolder"), !selected), _cx)),
151
154
  ref: ref,
152
155
  "aria-selected": isFocused,
153
156
  role: "option",
@@ -178,7 +181,7 @@ var DraggableElement = function DraggableElement(_ref) {
178
181
  className: "".concat(blockClass, "__shared-ui--assistive-text")
179
182
  }, ariaLabel), isDragging && !isOver ? /*#__PURE__*/React.createElement("div", {
180
183
  ref: preview,
181
- className: "${blockClass}__draggable-handleHolder-droppable"
184
+ className: "".concat(blockClass, "__draggable-handleHolder-droppable ").concat(blockClass, "__draggable-handleHolder-droppable--origin")
182
185
  }, content) : /*#__PURE__*/React.createElement("div", {
183
186
  ref: drag,
184
187
  "aria-hidden": isFocused && isFocusedOnItem // if focus on li, hide the children from aria
@@ -196,6 +199,7 @@ DraggableElement.propTypes = {
196
199
  id: _propTypes.default.string.isRequired,
197
200
  index: _propTypes.default.number.isRequired,
198
201
  isFocused: _propTypes.default.bool.isRequired,
202
+ isSticky: _propTypes.default.bool,
199
203
  listData: _propTypes.default.array.isRequired,
200
204
  moveElement: _propTypes.default.func.isRequired,
201
205
  onArrowKeyDown: _propTypes.default.func.isRequired,
@@ -124,10 +124,12 @@ var Columns = function Columns(_ref) {
124
124
  var res = filterString.length ? colDef.Header.props.title.toLowerCase().split(searchString) : null;
125
125
  var firstWord = res !== null ? res[0] === '' ? res[1].charAt(0).toUpperCase() + res[1].substring(1) : res[0].charAt(0).toUpperCase() + res[0].substring(1) : null;
126
126
  var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : colDef.Header.props.title;
127
+ var isFrozenColumn = !!colDef.sticky;
127
128
 
128
129
  var listContents = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.Checkbox, {
129
130
  className: (0, _classnames.default)("".concat(blockClass, "__customize-columns-checkbox-wrapper"), "".concat(blockClass, "__customize-columns-checkbox")),
130
131
  checked: (0, _common.isColumnVisible)(colDef),
132
+ disabled: isFrozenColumn,
131
133
  onChange: function onChange(_, _ref2) {
132
134
  var checked = _ref2.checked;
133
135
  return onSelectColumn(colDef, checked);
@@ -149,18 +151,21 @@ var Columns = function Columns(_ref) {
149
151
  setListData: setColumnsObject,
150
152
  id: "dnd-datagrid-columns-".concat(colDef.id),
151
153
  type: "column-customization",
152
- disabled: filterString.length > 0,
154
+ disabled: filterString.length > 0 || isFrozenColumn,
153
155
  ariaLabel: colDef.Header.props.title,
154
156
  onGrab: setAriaRegionText,
155
157
  isFocused: focusIndex === i,
158
+ isSticky: isFrozenColumn,
156
159
  moveElement: moveElement,
157
160
  onArrowKeyDown: function onArrowKeyDown(e, isGrabbed, currentIndex) {
158
161
  if (isGrabbed) {
162
+ var _columns$nextIndex;
163
+
159
164
  var nextIndex = getNextIndex(columns, currentIndex, e.key);
160
165
  e.preventDefault();
161
166
  e.stopPropagation();
162
167
 
163
- if (nextIndex >= 0) {
168
+ if (nextIndex >= 0 && !((_columns$nextIndex = columns[nextIndex]) !== null && _columns$nextIndex !== void 0 && _columns$nextIndex.sticky)) {
164
169
  setFocusIndex(nextIndex);
165
170
  moveElement(currentIndex, nextIndex);
166
171
  e.target.scrollIntoView({
@@ -79,7 +79,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
79
79
 
80
80
  var _useState7 = (0, _react.useState)(columnDefinitions // hide the columns without Header, e.g the sticky actions, spacer
81
81
  .filter(function (colDef) {
82
- return !!colDef.Header.props;
82
+ return !!colDef.Header.props && !colDef.isAction;
83
83
  }) // only sort the hidden column to the end when modal reopen
84
84
  .sort(function (defA, defB) {
85
85
  var isVisibleA = (0, _common.isColumnVisible)(defA);
@@ -33,7 +33,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
33
33
 
34
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
35
 
36
- var TableSelectRow = _react2.DataTable.TableSelectRow;
37
36
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
38
37
 
39
38
  var useSelectRows = function useSelectRows(hooks) {
@@ -102,7 +101,7 @@ var SelectRow = function SelectRow(datagridState) {
102
101
 
103
102
  var cellProps = cell.getCellProps();
104
103
  var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
105
- return /*#__PURE__*/_react.default.createElement(TableSelectRow, (0, _extends2.default)({}, cellProps, selectProps, {
104
+ return /*#__PURE__*/_react.default.createElement(_react2.TableSelectRow, (0, _extends2.default)({}, cellProps, selectProps, {
106
105
  radio: radio,
107
106
  onSelect: function onSelect(e) {
108
107
  e.stopPropagation(); // avoid triggering onRowClick