@carbon/ibm-products 1.60.0 → 1.61.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. package/css/index-full-carbon.css +57 -37
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +4 -4
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +9 -3
  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 +47 -22
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +47 -37
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +4 -4
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/Datagrid/Datagrid/DatagridContent.js +3 -1
  18. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +10 -54
  19. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +9 -8
  20. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +6 -12
  21. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +0 -5
  22. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +17 -5
  23. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +4 -3
  24. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +37 -24
  25. package/es/components/Datagrid/useColumnCenterAlign.js +6 -6
  26. package/es/components/Datagrid/useColumnRightAlign.js +6 -6
  27. package/es/components/Datagrid/useInlineEdit.js +1 -6
  28. package/es/components/Datagrid/useNestedRowExpander.js +10 -1
  29. package/es/components/Datagrid/useRowExpander.js +11 -1
  30. package/es/components/Datagrid/useSortableColumns.js +6 -5
  31. package/es/components/FilterSummary/FilterSummary.js +6 -2
  32. package/es/components/Guidebanner/Guidebanner.js +3 -3
  33. package/es/components/Guidebanner/GuidebannerElement.js +9 -3
  34. package/es/components/Guidebanner/GuidebannerElementButton.js +9 -4
  35. package/es/components/Guidebanner/GuidebannerElementLink.js +9 -3
  36. package/es/components/InlineTip/InlineTipButton.js +7 -0
  37. package/es/components/InlineTip/InlineTipLink.js +7 -0
  38. package/es/components/TagSet/TagSet.js +11 -3
  39. package/es/components/TagSet/TagSetOverflow.js +16 -5
  40. package/es/components/index.js +2 -2
  41. package/es/global/js/package-settings.js +5 -0
  42. package/es/global/js/utils/getNodeTextContent.js +51 -0
  43. package/lib/components/Datagrid/Datagrid/DatagridContent.js +3 -1
  44. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +9 -54
  45. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +9 -8
  46. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +6 -12
  47. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +0 -5
  48. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +15 -3
  49. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +7 -3
  50. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +38 -33
  51. package/lib/components/Datagrid/useInlineEdit.js +1 -6
  52. package/lib/components/Datagrid/useNestedRowExpander.js +10 -9
  53. package/lib/components/Datagrid/useRowExpander.js +11 -9
  54. package/lib/components/Datagrid/useSortableColumns.js +6 -5
  55. package/lib/components/FilterSummary/FilterSummary.js +6 -2
  56. package/lib/components/Guidebanner/Guidebanner.js +3 -3
  57. package/lib/components/Guidebanner/GuidebannerElement.js +8 -1
  58. package/lib/components/Guidebanner/GuidebannerElementButton.js +8 -1
  59. package/lib/components/Guidebanner/GuidebannerElementLink.js +8 -1
  60. package/lib/components/InlineTip/InlineTipButton.js +8 -1
  61. package/lib/components/InlineTip/InlineTipLink.js +8 -1
  62. package/lib/components/TagSet/TagSet.js +11 -3
  63. package/lib/components/TagSet/TagSetOverflow.js +16 -5
  64. package/lib/components/index.js +30 -0
  65. package/lib/global/js/package-settings.js +5 -0
  66. package/lib/global/js/utils/getNodeTextContent.js +59 -0
  67. package/package.json +4 -4
  68. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +0 -15
  69. package/scss/components/Datagrid/_datagrid.scss +1 -0
  70. package/scss/components/Datagrid/_storybook-styles.scss +15 -0
  71. package/scss/components/Datagrid/styles/_useInlineEdit.scss +7 -11
  72. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +42 -1
  73. package/scss/components/TagSet/_tag-set.scss +13 -3
  74. package/es/components/Datagrid/utils/getColTitle.js +0 -25
  75. package/lib/components/Datagrid/utils/getColTitle.js +0 -32
@@ -23,13 +23,21 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
23
23
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid__row-size");
24
24
  var RowSizeDropdown = function RowSizeDropdown(_ref) {
25
25
  var _ref$legendText = _ref.legendText,
26
- legendText = _ref$legendText === void 0 ? 'Row height' : _ref$legendText,
26
+ legendText = _ref$legendText === void 0 ? 'Row settings' : _ref$legendText,
27
27
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
28
28
  var buttonRef = (0, _react.useRef)(null);
29
+ var radioGroupRef = (0, _react.useRef)();
29
30
  var _useState = (0, _react.useState)(false),
30
31
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
31
32
  isOpen = _useState2[0],
32
33
  setIsOpen = _useState2[1];
34
+ (0, _react.useEffect)(function () {
35
+ if (isOpen) {
36
+ var radioGroupParentElement = radioGroupRef === null || radioGroupRef === void 0 ? void 0 : radioGroupRef.current;
37
+ var checkedRadioChild = radioGroupParentElement === null || radioGroupParentElement === void 0 ? void 0 : radioGroupParentElement.querySelector(".".concat(_settings.carbon.prefix, "--radio-button:checked"));
38
+ checkedRadioChild === null || checkedRadioChild === void 0 ? void 0 : checkedRadioChild.focus();
39
+ }
40
+ }, [isOpen]);
33
41
  var onCloseHandler = function onCloseHandler() {
34
42
  setIsOpen(false);
35
43
  };
@@ -39,7 +47,9 @@ var RowSizeDropdown = function RowSizeDropdown(_ref) {
39
47
  }
40
48
  };
41
49
  var onClickHandler = function onClickHandler() {
42
- setIsOpen(!isOpen);
50
+ setIsOpen(function (prev) {
51
+ return !prev;
52
+ });
43
53
  };
44
54
  var onKeyHandler = function onKeyHandler(e) {
45
55
  if (e.key === 'Escape') {
@@ -62,7 +72,9 @@ var RowSizeDropdown = function RowSizeDropdown(_ref) {
62
72
  iconDescription: legendText,
63
73
  className: (0, _classnames.default)("".concat(blockClass, "-button"), (0, _defineProperty2.default)({}, "".concat(blockClass, "-button--open"), isOpen)),
64
74
  onClick: onClickHandler
65
- }), isOpen && /*#__PURE__*/_react.default.createElement(_RowSizeRadioGroup.default, (0, _extends2.default)({}, props, {
75
+ }), isOpen && /*#__PURE__*/_react.default.createElement(_RowSizeRadioGroup.default, (0, _extends2.default)({
76
+ ref: radioGroupRef
77
+ }, props, {
66
78
  legendText: legendText,
67
79
  buttonRef: buttonRef
68
80
  })));
@@ -1,15 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
+ var _react = _interopRequireWildcard(require("react"));
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
11
  var _carbonComponentsReact = require("carbon-components-react");
11
12
  var _isArray = _interopRequireDefault(require("lodash/isArray"));
12
13
  var _settings = require("../../../../../settings");
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); }
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; }
13
16
  /* eslint-disable react/default-props-match-prop-types */
14
17
  // @flow
15
18
  /*
@@ -21,7 +24,7 @@ var _settings = require("../../../../../settings");
21
24
  */
22
25
 
23
26
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
24
- var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
27
+ var RowSizeRadioGroup = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
25
28
  var rowSizes = _ref.rowSizes,
26
29
  selectedOption = _ref.selectedOption,
27
30
  datagridName = _ref.datagridName,
@@ -36,6 +39,7 @@ var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
36
39
  xs: 'Extra small'
37
40
  } : _ref$rowSizeLabels;
38
41
  return /*#__PURE__*/_react.default.createElement("div", {
42
+ ref: ref,
39
43
  className: "".concat(blockClass, "__row-size-dropdown"),
40
44
  role: "presentation"
41
45
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.RadioButtonGroup, {
@@ -58,7 +62,7 @@ var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
58
62
  id: "".concat(datagridName || 'datagrid', "--row-density--").concat(option.value)
59
63
  });
60
64
  })));
61
- };
65
+ });
62
66
  var getBackwardCompatibleRowSize = function getBackwardCompatibleRowSize(rowSize) {
63
67
  // TODO: deprecate this function in next major release (v8) on carbon-components-react
64
68
  var rowSizeMap = {
@@ -4,37 +4,25 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.stateReducer = exports.handleColumnResizingEvent = exports.handleColumnResizeStartEvent = exports.handleColumnResizeEndEvent = void 0;
7
+ exports.stateReducer = exports.handleColumnResizingEvent = exports.handleColumnResizeEndEvent = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _settings = require("../../../../settings");
10
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
13
  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; }
12
- /**
13
- * Copyright IBM Corp. 2023, 2023
14
- *
15
- * This source code is licensed under the Apache-2.0 license found in the
16
- * LICENSE file in the root directory of this source tree.
17
- */
18
-
19
14
  var COLUMN_RESIZE_START = 'columnStartResizing';
20
15
  var COLUMN_RESIZING = 'columnResizing';
21
16
  var COLUMN_RESIZE_END = 'columnDoneResizing';
22
17
  var INIT = 'init';
23
- var handleColumnResizeStartEvent = function handleColumnResizeStartEvent(dispatch, headerId) {
24
- dispatch({
25
- type: COLUMN_RESIZE_START,
26
- payload: {
27
- headerId: headerId
28
- }
29
- });
30
- };
31
- exports.handleColumnResizeStartEvent = handleColumnResizeStartEvent;
32
- var handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId) {
18
+ var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
19
+ var handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId, isKeyEvent) {
33
20
  dispatch({
34
21
  type: COLUMN_RESIZE_END,
35
22
  payload: {
36
23
  onColResizeEnd: onColResizeEnd,
37
- headerId: headerId
24
+ headerId: headerId,
25
+ isKeyEvent: isKeyEvent
38
26
  }
39
27
  });
40
28
  };
@@ -70,42 +58,45 @@ var stateReducer = function stateReducer(newState, action) {
70
58
  }
71
59
  case COLUMN_RESIZE_START:
72
60
  {
73
- var headerId = action.payload.headerId;
61
+ var _ref = action.payload || {},
62
+ headerId = _ref.headerId;
74
63
  return _objectSpread(_objectSpread({}, newState), {}, {
75
64
  isResizing: headerId
76
65
  });
77
66
  }
78
67
  case COLUMN_RESIZING:
79
68
  {
80
- var _ref = action.payload || {},
81
- _headerId = _ref.headerId,
82
- newWidth = _ref.newWidth,
83
- defaultWidth = _ref.defaultWidth;
69
+ var _ref2 = action.payload || {},
70
+ _headerId = _ref2.headerId,
71
+ newWidth = _ref2.newWidth,
72
+ defaultWidth = _ref2.defaultWidth;
84
73
  var newColumnWidth = {};
85
74
  if (typeof _headerId === 'undefined') {
86
75
  return _objectSpread({}, newState);
87
76
  }
88
77
  newColumnWidth[_headerId] = newWidth;
89
- var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref2) {
90
- var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
91
- _ = _ref3[0],
92
- value = _ref3[1];
78
+ var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref3) {
79
+ var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
80
+ _ = _ref4[0],
81
+ value = _ref4[1];
93
82
  return !isNaN(value);
94
83
  }));
84
+ var headerIdArray = newState.columnResizing.headerIdWidths || [];
95
85
  return _objectSpread(_objectSpread({}, newState), {}, {
96
86
  isResizing: _headerId,
97
87
  columnResizing: _objectSpread(_objectSpread({}, newState.columnResizing), {}, {
98
88
  columnWidth: defaultWidth,
99
89
  columnWidths: _objectSpread(_objectSpread({}, cleanedWidths), newColumnWidth),
100
- headerIdWidths: [_headerId, newWidth]
90
+ headerIdWidths: [].concat((0, _toConsumableArray2.default)(headerIdArray), [[_headerId, newWidth]])
101
91
  })
102
92
  });
103
93
  }
104
94
  case COLUMN_RESIZE_END:
105
95
  {
106
- var _action$payload = action.payload,
107
- onColResizeEnd = _action$payload.onColResizeEnd,
108
- _headerId2 = _action$payload.headerId;
96
+ var _ref5 = action.payload || {},
97
+ onColResizeEnd = _ref5.onColResizeEnd,
98
+ _headerId2 = _ref5.headerId,
99
+ isKeyEvent = _ref5.isKeyEvent;
109
100
  var currentColumn = {};
110
101
  currentColumn[_headerId2] = newState.columnResizing.columnWidths[_headerId2];
111
102
  var allChangedColumns = newState.columnResizing.columnWidths;
@@ -113,8 +104,22 @@ var stateReducer = function stateReducer(newState, action) {
113
104
  if (isResizing) {
114
105
  onColResizeEnd === null || onColResizeEnd === void 0 ? void 0 : onColResizeEnd(currentColumn, allChangedColumns);
115
106
  }
107
+ if (!isKeyEvent) {
108
+ if (typeof isKeyEvent === 'undefined') {
109
+ // Blur resizer input if it has focus and is not from a key event resize
110
+ if (document.activeElement.classList.contains("".concat(blockClass, "__col-resizer-range"))) {
111
+ var _document, _document$activeEleme;
112
+ (_document = document) === null || _document === void 0 ? void 0 : (_document$activeEleme = _document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.blur();
113
+ }
114
+ return;
115
+ }
116
+ }
116
117
  return _objectSpread(_objectSpread({}, newState), {}, {
117
- isResizing: false
118
+ isResizing: false,
119
+ columnResizing: _objectSpread(_objectSpread({}, newState.columnResizing), {}, {
120
+ isResizingColumn: false,
121
+ startX: null
122
+ })
118
123
  });
119
124
  }
120
125
  }
@@ -32,14 +32,11 @@ var useInlineEdit = function useInlineEdit(hooks, usingEditableCell) {
32
32
  }
33
33
  }, [usingEditableCell]);
34
34
  var addInlineEdit = function addInlineEdit(props, _ref) {
35
- var _cell$column, _cell$column$inlineEd, _instance$columns$fil;
35
+ var _cell$column, _cell$column$inlineEd;
36
36
  var cell = _ref.cell,
37
37
  instance = _ref.instance;
38
38
  var columnInlineEditConfig = cell.column.inlineEdit;
39
39
  var inlineEditType = (_cell$column = cell.column) === null || _cell$column === void 0 ? void 0 : (_cell$column$inlineEd = _cell$column.inlineEdit) === null || _cell$column$inlineEd === void 0 ? void 0 : _cell$column$inlineEd.type;
40
- var totalInlineEditColumns = (_instance$columns$fil = instance.columns.filter(function (item) {
41
- return item.inlineEdit;
42
- })) === null || _instance$columns$fil === void 0 ? void 0 : _instance$columns$fil.length;
43
40
  var renderInlineEditComponent = function renderInlineEditComponent(type) {
44
41
  return /*#__PURE__*/_react.default.createElement(_InlineEditCell.InlineEditCell, {
45
42
  config: columnInlineEditConfig,
@@ -47,7 +44,6 @@ var useInlineEdit = function useInlineEdit(hooks, usingEditableCell) {
47
44
  value: cell.value,
48
45
  cell: cell,
49
46
  instance: instance,
50
- totalInlineEditColumns: totalInlineEditColumns,
51
47
  type: type
52
48
  });
53
49
  };
@@ -67,7 +63,6 @@ var useInlineEdit = function useInlineEdit(hooks, usingEditableCell) {
67
63
  instance: instance,
68
64
  disabled: true,
69
65
  nonEditCell: true,
70
- totalInlineEditColumns: totalInlineEditColumns,
71
66
  type: "text"
72
67
  }))
73
68
  }];
@@ -15,14 +15,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _settings = require("../../settings");
16
16
  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); }
17
17
  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; }
18
- /* eslint-disable react/prop-types */
19
- /**
20
- * Copyright IBM Corp. 2020, 2023
21
- *
22
- * This source code is licensed under the Apache-2.0 license found in the
23
- * LICENSE file in the root directory of this source tree.
24
- */
25
-
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ 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; }
26
20
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
27
21
  var useNestedRowExpander = function useNestedRowExpander(hooks) {
28
22
  var tempState = (0, _react.useRef)();
@@ -35,6 +29,13 @@ var useNestedRowExpander = function useNestedRowExpander(hooks) {
35
29
  Cell: function Cell(_ref) {
36
30
  var _cx;
37
31
  var row = _ref.row;
32
+ var expanderButtonProps = _objectSpread(_objectSpread({}, row.getToggleRowExpandedProps()), {}, {
33
+ onClick: function onClick(event) {
34
+ // Prevents `onRowClick` from being called if `useOnRowClick` is included
35
+ event.stopPropagation();
36
+ row.toggleRowExpanded();
37
+ }
38
+ });
38
39
  var _ref2 = (tempState === null || tempState === void 0 ? void 0 : tempState.current) || {},
39
40
  _ref2$expanderButtonT = _ref2.expanderButtonTitleExpanded,
40
41
  expanderButtonTitleExpanded = _ref2$expanderButtonT === void 0 ? 'Collapse row' : _ref2$expanderButtonT,
@@ -45,7 +46,7 @@ var useNestedRowExpander = function useNestedRowExpander(hooks) {
45
46
  type: "button",
46
47
  "aria-label": expanderTitle,
47
48
  className: (0, _classnames.default)("".concat(blockClass, "__row-expander"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--ghost"))
48
- }, row.getToggleRowExpandedProps(), {
49
+ }, expanderButtonProps, {
49
50
  title: expanderTitle
50
51
  }), /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronRight16, {
51
52
  className: (0, _classnames.default)("".concat(blockClass, "__expander-icon"), "".concat(blockClass, "__row-expander--icon"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__expander-icon--not-open"), !row.isExpanded), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__expander-icon--open"), row.isExpanded), _cx))
@@ -8,20 +8,15 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var _react = _interopRequireWildcard(require("react"));
12
13
  var _iconsReact = require("@carbon/icons-react");
13
14
  var _classnames = _interopRequireDefault(require("classnames"));
14
15
  var _settings = require("../../settings");
15
16
  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); }
16
17
  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; }
17
- /* eslint-disable react/prop-types */
18
- /**
19
- * Copyright IBM Corp. 2020, 2023
20
- *
21
- * This source code is licensed under the Apache-2.0 license found in the
22
- * LICENSE file in the root directory of this source tree.
23
- */
24
-
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ 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
20
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
26
21
  var useRowExpander = function useRowExpander(hooks) {
27
22
  var tempState = (0, _react.useRef)();
@@ -33,6 +28,13 @@ var useRowExpander = function useRowExpander(hooks) {
33
28
  id: 'expander',
34
29
  Cell: function Cell(_ref) {
35
30
  var row = _ref.row;
31
+ var expanderButtonProps = _objectSpread(_objectSpread({}, row.getToggleRowExpandedProps()), {}, {
32
+ onClick: function onClick(event) {
33
+ // Prevents `onRowClick` from being called if `useOnRowClick` is included
34
+ event.stopPropagation();
35
+ row.toggleRowExpanded();
36
+ }
37
+ });
36
38
  var _ref2 = (tempState === null || tempState === void 0 ? void 0 : tempState.current) || {},
37
39
  _ref2$expanderButtonT = _ref2.expanderButtonTitleExpanded,
38
40
  expanderButtonTitleExpanded = _ref2$expanderButtonT === void 0 ? 'Collapse row' : _ref2$expanderButtonT,
@@ -43,7 +45,7 @@ var useRowExpander = function useRowExpander(hooks) {
43
45
  type: "button",
44
46
  "aria-label": expanderTitle,
45
47
  className: (0, _classnames.default)("".concat(blockClass, "__row-expander"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--ghost"))
46
- }, row.getToggleRowExpandedProps(), {
48
+ }, expanderButtonProps, {
47
49
  title: expanderTitle
48
50
  }), row.isExpanded ? /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronUp16, {
49
51
  className: "".concat(blockClass, "__row-expander--icon")
@@ -12,6 +12,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _settings = require("../../settings");
13
13
  var _carbonComponentsReact = require("carbon-components-react");
14
14
  var _iconsReact = require("@carbon/icons-react");
15
+ var _DatagridSelectAll = require("./Datagrid/DatagridSelectAll");
15
16
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
17
  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; }
17
18
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
@@ -31,13 +32,13 @@ var getAriaSortValue = function getAriaSortValue(col, _ref) {
31
32
  isSorted = _ref2.isSorted,
32
33
  isSortedDesc = _ref2.isSortedDesc;
33
34
  if (!isSorted) {
34
- return defaultSortableLabelText || 'none';
35
+ return defaultSortableLabelText;
35
36
  }
36
37
  if (isSorted && !isSortedDesc) {
37
- return ascendingSortableLabelText || 'ascending';
38
+ return ascendingSortableLabelText;
38
39
  }
39
40
  if (isSorted && isSortedDesc) {
40
- return descendingSortableLabelText || 'descending';
41
+ return descendingSortableLabelText;
41
42
  }
42
43
  };
43
44
  var useSortableColumns = function useSortableColumns(hooks) {
@@ -91,7 +92,7 @@ var useSortableColumns = function useSortableColumns(hooks) {
91
92
  };
92
93
  var Header = function Header(headerProp) {
93
94
  var _cx;
94
- return column.disableSortBy === true ? column.Header : /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
95
+ return column.disableSortBy === true || column.id === 'datagridSelection' ? column.disableSortBy ? column.Header : /*#__PURE__*/_react.default.createElement(_DatagridSelectAll.SelectAll, instance) : /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
95
96
  "aria-sort": getAriaSortValue(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column, {
96
97
  ascendingSortableLabelText: ascendingSortableLabelText,
97
98
  descendingSortableLabelText: descendingSortableLabelText,
@@ -107,7 +108,7 @@ var useSortableColumns = function useSortableColumns(hooks) {
107
108
  };
108
109
  return _objectSpread(_objectSpread({}, column), {}, {
109
110
  Header: Header,
110
- minWidth: column.disableSortBy === true ? 0 : 90
111
+ minWidth: column.disableSortBy === true ? 0 : column.minWidth ? column.minWidth : 90
111
112
  });
112
113
  });
113
114
  return (_instance$customizeCo = instance.customizeColumnsProps) !== null && _instance$customizeCo !== void 0 && _instance$customizeCo.isTearsheetOpen ? visibleColumns : (0, _toConsumableArray2.default)(sortableColumns);
@@ -27,7 +27,9 @@ var FilterSummary = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
27
27
  _ref$filters = _ref.filters,
28
28
  filters = _ref$filters === void 0 ? [] : _ref$filters,
29
29
  _ref$renderLabel = _ref.renderLabel,
30
- renderLabel = _ref$renderLabel === void 0 ? null : _ref$renderLabel;
30
+ renderLabel = _ref$renderLabel === void 0 ? null : _ref$renderLabel,
31
+ _ref$overflowType = _ref.overflowType,
32
+ overflowType = _ref$overflowType === void 0 ? 'default' : _ref$overflowType;
31
33
  var tagFilters = filters.map(function (_ref2) {
32
34
  var _renderLabel;
33
35
  var key = _ref2.key,
@@ -46,7 +48,8 @@ var FilterSummary = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
46
48
  allTagsModalSearchPlaceholderText: "Search all tags",
47
49
  allTagsModalTitle: "All tags",
48
50
  showAllTagsLabel: "View all tags",
49
- tags: tagFilters
51
+ tags: tagFilters,
52
+ overflowType: overflowType
50
53
  }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
51
54
  kind: "ghost",
52
55
  size: "sm",
@@ -60,6 +63,7 @@ FilterSummary.propTypes = {
60
63
  clearFilters: _propTypes.default.func.isRequired,
61
64
  clearFiltersText: _propTypes.default.string,
62
65
  filters: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
66
+ overflowType: _propTypes.default.oneOf(['default', 'tag']),
63
67
  renderLabel: _propTypes.default.func
64
68
  };
65
69
  var _default = FilterSummary;
@@ -176,12 +176,12 @@ Guidebanner.propTypes = {
176
176
  error = new Error('`Guidebanner` requires one or more children of type `GuidebannerElement`.');
177
177
  }
178
178
  _react.default.Children.forEach(prop, function (child) {
179
- if (child.type.name !== 'GuidebannerElement') {
180
- var _child$type;
179
+ if (child.type.displayName !== 'GuidebannerElement') {
180
+ var _child$type, _child$type2;
181
181
  // If not GuidebannerElement, then show:
182
182
  // React component name(child.type?.name) or
183
183
  // HTML element name(child.type).
184
- error = new Error("`Guidebanner` only accepts children of type `GuidebannerElement`, found `".concat(((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name) || child.type, "` instead."));
184
+ error = new Error("`Guidebanner` only accepts children of type `GuidebannerElement`, found `".concat(((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) || ((_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.name) || child.type, "` instead."));
185
185
  }
186
186
  });
187
187
  return error;
@@ -41,10 +41,17 @@ var GuidebannerElement = function GuidebannerElement(_ref) {
41
41
  }, button));
42
42
  };
43
43
 
44
+ // Return a placeholder if not released and not enabled by feature flag
45
+ exports.GuidebannerElement = GuidebannerElement;
46
+ exports.GuidebannerElement = GuidebannerElement = _settings.pkg.checkComponentEnabled(GuidebannerElement, componentName);
47
+
48
+ // The display name of the component, used by React. Note that displayName
49
+ // is used in preference to relying on function.name.
50
+ GuidebannerElement.displayName = componentName;
51
+
44
52
  // The types and DocGen commentary for the component props,
45
53
  // in alphabetical order (for consistency).
46
54
  // See https://www.npmjs.com/package/prop-types#usage.
47
- exports.GuidebannerElement = GuidebannerElement;
48
55
  GuidebannerElement.propTypes = {
49
56
  /**
50
57
  * An optional button can be rendered below the description.
@@ -48,10 +48,17 @@ var GuidebannerElementButton = function GuidebannerElementButton(_ref) {
48
48
  }, (0, _devtools.getDevtoolsProps)(componentName)), children);
49
49
  };
50
50
 
51
+ // Return a placeholder if not released and not enabled by feature flag
52
+ exports.GuidebannerElementButton = GuidebannerElementButton;
53
+ exports.GuidebannerElementButton = GuidebannerElementButton = _settings.pkg.checkComponentEnabled(GuidebannerElementButton, componentName);
54
+
55
+ // The display name of the component, used by React. Note that displayName
56
+ // is used in preference to relying on function.name.
57
+ GuidebannerElementButton.displayName = componentName;
58
+
51
59
  // The types and DocGen commentary for the component props,
52
60
  // in alphabetical order (for consistency).
53
61
  // See https://www.npmjs.com/package/prop-types#usage.
54
- exports.GuidebannerElementButton = GuidebannerElementButton;
55
62
  GuidebannerElementButton.propTypes = {
56
63
  /**
57
64
  * Provide the contents of the GuidebannerElementButton.
@@ -36,10 +36,17 @@ var GuidebannerElementLink = function GuidebannerElementLink(_ref) {
36
36
  }, (0, _devtools.getDevtoolsProps)(componentName)), children);
37
37
  };
38
38
 
39
+ // Return a placeholder if not released and not enabled by feature flag
40
+ exports.GuidebannerElementLink = GuidebannerElementLink;
41
+ exports.GuidebannerElementLink = GuidebannerElementLink = _settings.pkg.checkComponentEnabled(GuidebannerElementLink, componentName);
42
+
43
+ // The display name of the component, used by React. Note that displayName
44
+ // is used in preference to relying on function.name.
45
+ GuidebannerElementLink.displayName = componentName;
46
+
39
47
  // The types and DocGen commentary for the component props,
40
48
  // in alphabetical order (for consistency).
41
49
  // See https://www.npmjs.com/package/prop-types#usage.
42
- exports.GuidebannerElementLink = GuidebannerElementLink;
43
50
  GuidebannerElementLink.propTypes = {
44
51
  /**
45
52
  * Provide the contents of the GuidebannerElementLink.
@@ -61,10 +61,17 @@ var InlineTipButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
61
61
  }), children);
62
62
  });
63
63
 
64
+ // Return a placeholder if not released and not enabled by feature flag
65
+ exports.InlineTipButton = InlineTipButton;
66
+ exports.InlineTipButton = InlineTipButton = _settings.pkg.checkComponentEnabled(InlineTipButton, componentName);
67
+
68
+ // The display name of the component, used by React. Note that displayName
69
+ // is used in preference to relying on function.name.
70
+ InlineTipButton.displayName = componentName;
71
+
64
72
  // The types and DocGen commentary for the component props,
65
73
  // in alphabetical order (for consistency).
66
74
  // See https://www.npmjs.com/package/prop-types#usage.
67
- exports.InlineTipButton = InlineTipButton;
68
75
  InlineTipButton.propTypes = {
69
76
  /**
70
77
  * Provide the contents of the InlineTipButton.
@@ -61,10 +61,17 @@ var InlineTipLink = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
61
61
  }), children);
62
62
  });
63
63
 
64
+ // Return a placeholder if not released and not enabled by feature flag
65
+ exports.InlineTipLink = InlineTipLink;
66
+ exports.InlineTipLink = InlineTipLink = _settings.pkg.checkComponentEnabled(InlineTipLink, componentName);
67
+
68
+ // The display name of the component, used by React. Note that displayName
69
+ // is used in preference to relying on function.name.
70
+ InlineTipLink.displayName = componentName;
71
+
64
72
  // The types and DocGen commentary for the component props,
65
73
  // in alphabetical order (for consistency).
66
74
  // See https://www.npmjs.com/package/prop-types#usage.
67
- exports.InlineTipLink = InlineTipLink;
68
75
  InlineTipLink.propTypes = {
69
76
  /**
70
77
  * Provide the contents of the InlineTipLink.
@@ -21,7 +21,7 @@ var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
21
21
  var _devtools = require("../../global/js/utils/devtools");
22
22
  var _propsHelper = require("../../global/js/utils/props-helper");
23
23
  var _settings = require("../../settings");
24
- var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
24
+ var _excluded = ["align", "allTagsModalTarget", "className", "maxVisible", "multiline", "overflowAlign", "overflowClassName", "overflowType", "overflowDirection", "allTagsModalTitle", "allTagsModalSearchLabel", "allTagsModalSearchPlaceholderText", "showAllTagsLabel", "tags"],
25
25
  _excluded2 = ["label", "id"],
26
26
  _excluded3 = ["label"];
27
27
  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); }
@@ -37,7 +37,8 @@ var defaults = {
37
37
  align: 'start',
38
38
  // allTagsModalTarget: document.body,
39
39
  overflowAlign: 'center',
40
- overflowDirection: 'bottom'
40
+ overflowDirection: 'bottom',
41
+ overflowType: 'default'
41
42
  };
42
43
  var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
43
44
  var _ref$align = _ref.align,
@@ -49,6 +50,8 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
49
50
  _ref$overflowAlign = _ref.overflowAlign,
50
51
  overflowAlign = _ref$overflowAlign === void 0 ? defaults.overflowAlign : _ref$overflowAlign,
51
52
  overflowClassName = _ref.overflowClassName,
53
+ _ref$overflowType = _ref.overflowType,
54
+ overflowType = _ref$overflowType === void 0 ? defaults.overflowType : _ref$overflowType,
52
55
  _ref$overflowDirectio = _ref.overflowDirection,
53
56
  overflowDirection = _ref$overflowDirectio === void 0 ? defaults.overflowDirection : _ref$overflowDirectio,
54
57
  allTagsModalTitle = _ref.allTagsModalTitle,
@@ -144,13 +147,14 @@ var TagSet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
144
147
  onShowAllClick: handleShowAllClick,
145
148
  overflowTags: newOverflowTags,
146
149
  overflowAlign: overflowAlign,
150
+ overflowType: overflowType,
147
151
  overflowDirection: overflowDirection,
148
152
  showAllTagsLabel: showAllTagsLabel,
149
153
  key: "displayed-tag-overflow",
150
154
  ref: overflowTag
151
155
  }));
152
156
  setDisplayedTags(newDisplayedTags);
153
- }, [displayCount, overflowAlign, overflowClassName, overflowDirection, showAllTagsLabel, tags]);
157
+ }, [displayCount, overflowAlign, overflowType, overflowClassName, overflowDirection, showAllTagsLabel, tags]);
154
158
  var checkFullyVisibleTags = (0, _react.useCallback)(function () {
155
159
  if (multiline) {
156
160
  return setDisplayCount(maxVisible);
@@ -305,6 +309,10 @@ TagSet.propTypes = {
305
309
  * overflowDirection from the standard tooltip
306
310
  */
307
311
  overflowDirection: _propTypes.default.oneOf(['top', 'right', 'bottom', 'left']),
312
+ /**
313
+ * Type of rendering displayed inside of the tag overflow component
314
+ */
315
+ overflowType: _propTypes.default.oneOf(['default', 'tag']),
308
316
  /**
309
317
  * label for the overflow show all tags link.
310
318
  *