@carbon/ibm-products 1.50.0 → 1.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +10 -5
  2. package/css/index-full-carbon.css +131 -82
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +2 -2
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +38 -11
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +1 -1
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +131 -82
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +2 -2
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +131 -82
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +2 -2
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/AboutModal/AboutModal.js +3 -4
  19. package/es/components/ActionBar/ActionBar.js +9 -18
  20. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +8 -13
  21. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +7 -11
  22. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +8 -8
  23. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +5 -5
  24. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -4
  25. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +17 -3
  26. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +17 -2
  27. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +8 -4
  28. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +2 -1
  29. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +14 -0
  30. package/es/components/Datagrid/index.js +1 -0
  31. package/es/components/Datagrid/useActionsColumn.js +10 -7
  32. package/es/components/Datagrid/useCustomizeColumns.js +5 -1
  33. package/es/components/Datagrid/useEditableCell.js +12 -0
  34. package/es/components/Datagrid/useExpandedRow.js +11 -7
  35. package/es/components/Datagrid/useFiltering.js +15 -10
  36. package/es/components/Datagrid/useInlineEdit.js +17 -8
  37. package/es/components/Datagrid/useNestedRows.js +10 -6
  38. package/es/components/Datagrid/useOnRowClick.js +9 -1
  39. package/es/components/Datagrid/useSelectRows.js +2 -0
  40. package/es/components/EditInPlace/EditInPlace.js +43 -0
  41. package/es/components/EditInPlace/index.js +8 -0
  42. package/es/components/ExampleComponent/ExampleComponent.js +32 -4
  43. package/es/components/ExampleComponent/useExample.js +49 -0
  44. package/es/components/InlineEdit/InlineEdit.js +5 -1
  45. package/es/components/InlineEditV1/InlineEditV1.js +7 -2
  46. package/es/components/InlineEditV2/InlineEditV2.js +51 -15
  47. package/es/components/NonLinearReading/NonLinearReading.js +7 -7
  48. package/es/components/PageHeader/PageHeader.js +28 -31
  49. package/es/components/SidePanel/SidePanel.js +25 -26
  50. package/es/components/TagSet/TagSet.js +5 -7
  51. package/es/components/Tearsheet/TearsheetShell.js +4 -6
  52. package/es/components/index.js +2 -1
  53. package/es/global/js/hooks/useResizeObserver.js +74 -0
  54. package/es/global/js/package-settings.js +35 -4
  55. package/es/global/js/utils/test-helper.js +34 -3
  56. package/es/settings.js +40 -29
  57. package/lib/components/AboutModal/AboutModal.js +3 -4
  58. package/lib/components/ActionBar/ActionBar.js +9 -18
  59. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +8 -13
  60. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +7 -11
  61. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +2 -1
  62. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +4 -4
  63. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -4
  64. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +17 -3
  65. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +17 -2
  66. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +8 -4
  67. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +2 -1
  68. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +15 -0
  69. package/lib/components/Datagrid/index.js +7 -0
  70. package/lib/components/Datagrid/useActionsColumn.js +7 -1
  71. package/lib/components/Datagrid/useCustomizeColumns.js +4 -0
  72. package/lib/components/Datagrid/useEditableCell.js +20 -0
  73. package/lib/components/Datagrid/useExpandedRow.js +4 -0
  74. package/lib/components/Datagrid/useFiltering.js +8 -2
  75. package/lib/components/Datagrid/useInlineEdit.js +19 -8
  76. package/lib/components/Datagrid/useNestedRows.js +9 -6
  77. package/lib/components/Datagrid/useOnRowClick.js +9 -1
  78. package/lib/components/Datagrid/useSelectRows.js +2 -0
  79. package/lib/components/EditInPlace/EditInPlace.js +46 -0
  80. package/lib/components/EditInPlace/index.js +12 -0
  81. package/lib/components/ExampleComponent/ExampleComponent.js +35 -4
  82. package/lib/components/ExampleComponent/useExample.js +58 -0
  83. package/lib/components/InlineEdit/InlineEdit.js +5 -1
  84. package/lib/components/InlineEditV1/InlineEditV1.js +7 -2
  85. package/lib/components/InlineEditV2/InlineEditV2.js +53 -16
  86. package/lib/components/NonLinearReading/NonLinearReading.js +6 -6
  87. package/lib/components/PageHeader/PageHeader.js +28 -31
  88. package/lib/components/SidePanel/SidePanel.js +25 -26
  89. package/lib/components/TagSet/TagSet.js +5 -7
  90. package/lib/components/Tearsheet/TearsheetShell.js +4 -6
  91. package/lib/components/index.js +13 -0
  92. package/lib/global/js/hooks/useResizeObserver.js +83 -0
  93. package/lib/global/js/package-settings.js +34 -3
  94. package/lib/global/js/utils/test-helper.js +37 -5
  95. package/lib/settings.js +41 -30
  96. package/package.json +2 -3
  97. package/scss/components/Datagrid/styles/_useSelectAllToggle.scss +10 -7
  98. package/scss/components/InlineEditV2/_inline-edit-v2.scss +52 -11
  99. package/scss/components/InlineEditV2/_storybook-styles.scss +9 -2
  100. package/scss/components/NonLinearReading/_non-linear-reading.scss +76 -67
  101. package/scss/components/NonLinearReading/_storybook-styles.scss +16 -0
@@ -86,7 +86,8 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
86
86
  id: "".concat(tableId, "-select-all-checkbox-id")
87
87
  }))), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenu, {
88
88
  renderIcon: _iconsReact.CaretDown16,
89
- size: "sm"
89
+ size: "sm",
90
+ menuOptionsClass: "".concat(blockClass, "__select-all-toggle-overflow")
90
91
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
91
92
  itemText: allPageRowsLabel,
92
93
  requireTitle: true,
@@ -11,7 +11,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _iconsReact = require("@carbon/icons-react");
13
13
  var _carbonComponentsReact = require("carbon-components-react");
14
- var _reactResizeDetector = require("react-resize-detector");
14
+ var _useResizeObserver2 = require("../../../global/js/hooks/useResizeObserver");
15
15
  var _ButtonMenu = require("../../ButtonMenu");
16
16
  var _settings = require("../../../settings");
17
17
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -134,9 +134,9 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
134
134
  })), renderBatchActionOverflow());
135
135
  };
136
136
  var DatagridToolbar = function DatagridToolbar(datagridState) {
137
- var _useResizeDetector = (0, _reactResizeDetector.useResizeDetector)(),
138
- width = _useResizeDetector.width,
139
- ref = _useResizeDetector.ref;
137
+ var ref = (0, _react.useRef)(null);
138
+ var _useResizeObserver = (0, _useResizeObserver2.useResizeObserver)(ref),
139
+ width = _useResizeObserver.width;
140
140
  var DatagridActions = datagridState.DatagridActions,
141
141
  DatagridBatchActions = datagridState.DatagridBatchActions,
142
142
  batchActions = datagridState.batchActions,
@@ -12,7 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactWindow = require("react-window");
13
13
  var _carbonComponentsReact = require("carbon-components-react");
14
14
  var _layout = require("@carbon/layout");
15
- var _reactResizeDetector = require("react-resize-detector");
15
+ var _useResizeObserver = require("../../../global/js/hooks/useResizeObserver");
16
16
  var _settings = require("../../../settings");
17
17
  var _DatagridHead = _interopRequireDefault(require("./DatagridHead"));
18
18
  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); }
@@ -54,9 +54,8 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
54
54
  var gridRefElement = gridRef === null || gridRef === void 0 ? void 0 : gridRef.current;
55
55
  gridRefElement.style.width = gridRefElement === null || gridRefElement === void 0 ? void 0 : gridRefElement.clientWidth;
56
56
  };
57
- (0, _reactResizeDetector.useResizeDetector)({
58
- onResize: handleVirtualGridResize,
59
- targetRef: gridRef
57
+ (0, _useResizeObserver.useResizeObserver)(gridRef, {
58
+ callback: handleVirtualGridResize
60
59
  });
61
60
  var syncScroll = function syncScroll(e) {
62
61
  var virtualBody = e.target;
@@ -54,7 +54,12 @@ var FilterFlyout = function FilterFlyout(_ref) {
54
54
  secondaryActionLabel = _ref$secondaryActionL === void 0 ? 'Cancel' : _ref$secondaryActionL,
55
55
  setAllFilters = _ref.setAllFilters,
56
56
  _ref$data = _ref.data,
57
- data = _ref$data === void 0 ? [] : _ref$data;
57
+ data = _ref$data === void 0 ? [] : _ref$data,
58
+ _ref$initialFilters = _ref.initialFilters,
59
+ initialFilters = _ref$initialFilters === void 0 ? [] : _ref$initialFilters;
60
+ // Save the initial filters we only need the filters once when it loads
61
+ var initialFiltersRef = (0, _react.useRef)(initialFilters);
62
+
58
63
  /** State */
59
64
  var _useState = (0, _react.useState)(false),
60
65
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -64,7 +69,8 @@ var FilterFlyout = function FilterFlyout(_ref) {
64
69
  updateMethod: updateMethod,
65
70
  filters: filters,
66
71
  setAllFilters: setAllFilters,
67
- variation: _constants.FLYOUT
72
+ variation: _constants.FLYOUT,
73
+ initialFilters: initialFiltersRef.current
68
74
  }),
69
75
  filtersState = _useFilters.filtersState,
70
76
  prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
@@ -189,11 +195,19 @@ FilterFlyout.propTypes = {
189
195
  type: _propTypes.default.string.isRequired,
190
196
  column: _propTypes.default.string.isRequired,
191
197
  props: _propTypes.default.object.isRequired
192
- })).isRequired,
198
+ })),
193
199
  /**
194
200
  * Icon description for the filter flyout button
195
201
  */
196
202
  flyoutIconDescription: _propTypes.default.string,
203
+ /**
204
+ * Filters that should be applied on load
205
+ */
206
+ initialFilters: _propTypes.default.arrayOf(_propTypes.default.shape({
207
+ id: _propTypes.default.string.isRequired,
208
+ type: _propTypes.default.string.isRequired,
209
+ value: _propTypes.default.any.isRequired
210
+ })),
197
211
  /**
198
212
  * Callback when the apply button is clicked
199
213
  */
@@ -63,7 +63,12 @@ var FilterPanel = function FilterPanel(_ref) {
63
63
  _ref$searchLabelText = _ref.searchLabelText,
64
64
  searchLabelText = _ref$searchLabelText === void 0 ? 'Filter search' : _ref$searchLabelText,
65
65
  _ref$searchPlaceholde = _ref.searchPlaceholder,
66
- searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde;
66
+ searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde,
67
+ _ref$initialFilters = _ref.initialFilters,
68
+ initialFilters = _ref$initialFilters === void 0 ? [] : _ref$initialFilters;
69
+ // Save the initial filters we only need the filters once
70
+ var initialFiltersRef = (0, _react.useRef)(initialFilters);
71
+
67
72
  /** State */
68
73
  var _useState = (0, _react.useState)(false),
69
74
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -73,7 +78,8 @@ var FilterPanel = function FilterPanel(_ref) {
73
78
  updateMethod: updateMethod,
74
79
  filters: filterSections,
75
80
  setAllFilters: setAllFilters,
76
- variation: _constants.PANEL
81
+ variation: _constants.PANEL,
82
+ initialFilters: initialFiltersRef.current
77
83
  }),
78
84
  filtersState = _useFilters.filtersState,
79
85
  prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
@@ -224,6 +230,7 @@ var FilterPanel = function FilterPanel(_ref) {
224
230
  filters = _ref2$filters === void 0 ? [] : _ref2$filters,
225
231
  hasAccordion = _ref2.hasAccordion;
226
232
  return /*#__PURE__*/_react.default.createElement("div", {
233
+ key: categoryTitle,
227
234
  className: "".concat(componentClass, "__category")
228
235
  }, categoryTitle && /*#__PURE__*/_react.default.createElement("div", {
229
236
  className: "".concat(componentClass, "__category-title")
@@ -244,6 +251,14 @@ FilterPanel.propTypes = {
244
251
  closeIconDescription: _propTypes.default.string,
245
252
  filterPanelMinHeight: _propTypes.default.number,
246
253
  filterSections: _propTypes.default.array,
254
+ /**
255
+ * Filters that should be applied on load
256
+ */
257
+ initialFilters: _propTypes.default.arrayOf(_propTypes.default.shape({
258
+ id: _propTypes.default.string.isRequired,
259
+ type: _propTypes.default.string.isRequired,
260
+ value: _propTypes.default.any.isRequired
261
+ })),
247
262
  onApply: _propTypes.default.func,
248
263
  onCancel: _propTypes.default.func,
249
264
  onPanelClose: _propTypes.default.func,
@@ -24,13 +24,14 @@ var useFilters = function useFilters(_ref) {
24
24
  _ref$filters = _ref.filters,
25
25
  filters = _ref$filters === void 0 ? [] : _ref$filters,
26
26
  setAllFilters = _ref.setAllFilters,
27
- variation = _ref.variation;
27
+ variation = _ref.variation,
28
+ initialFilters = _ref.initialFilters;
28
29
  /** State */
29
- var _useInitialStateFromF = (0, _useInitialStateFromFilters.default)(filters, variation),
30
+ var _useInitialStateFromF = (0, _useInitialStateFromFilters.default)(filters, variation, initialFilters),
30
31
  _useInitialStateFromF2 = (0, _slicedToArray2.default)(_useInitialStateFromF, 2),
31
32
  filtersState = _useInitialStateFromF2[0],
32
33
  setFiltersState = _useInitialStateFromF2[1];
33
- var _useState = (0, _react.useState)([]),
34
+ var _useState = (0, _react.useState)(initialFilters),
34
35
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
35
36
  filtersObjectArray = _useState2[0],
36
37
  setFiltersObjectArray = _useState2[1];
@@ -47,8 +48,11 @@ var useFilters = function useFilters(_ref) {
47
48
  setFiltersObjectArray(JSON.parse(prevFiltersObjectArrayRef.current));
48
49
  };
49
50
  var reset = function reset() {
51
+ // When we reset we want the "initialFilters" to be an empty array
52
+ var resetFiltersArray = [];
53
+
50
54
  // Get the initial values for the filters
51
- var initialFiltersState = (0, _utils.getInitialStateFromFilters)(filters, variation);
55
+ var initialFiltersState = (0, _utils.getInitialStateFromFilters)(filters, variation, resetFiltersArray);
52
56
  var initialFiltersObjectArray = [];
53
57
 
54
58
  // Set the state to the initial values
@@ -19,7 +19,8 @@ var _utils = require("../utils");
19
19
 
20
20
  var useInitialStateFromFilters = function useInitialStateFromFilters(filters) {
21
21
  var variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.FLYOUT;
22
- var _useState = (0, _react.useState)((0, _utils.getInitialStateFromFilters)(filters, variation)),
22
+ var initialFilters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
23
+ var _useState = (0, _react.useState)((0, _utils.getInitialStateFromFilters)(filters, variation, initialFilters)),
23
24
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
24
25
  state = _useState2[0],
25
26
  setState = _useState2[1];
@@ -12,9 +12,21 @@ var _constants = require("./constants");
12
12
  * LICENSE file in the root directory of this source tree.
13
13
  */
14
14
 
15
+ var applyInitialFilters = function applyInitialFilters(filterState, initialFilters) {
16
+ Object.keys(filterState).forEach(function (key) {
17
+ var hasInitialFilter = initialFilters.find(function (filter) {
18
+ return filter.id === key;
19
+ });
20
+ if (hasInitialFilter) {
21
+ filterState[key].value = hasInitialFilter.value;
22
+ }
23
+ });
24
+ };
25
+
15
26
  // This functions takes the filters passed in and makes an object to track it's state
16
27
  var getInitialStateFromFilters = function getInitialStateFromFilters(filters) {
17
28
  var variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.FLYOUT;
29
+ var initialFilters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
18
30
  var initialFilterState = {};
19
31
  var setInitialState = function setInitialState(_ref) {
20
32
  var type = _ref.type,
@@ -71,6 +83,9 @@ var getInitialStateFromFilters = function getInitialStateFromFilters(filters) {
71
83
  } else {
72
84
  console.error('No variation passed into useInitialStateFromFilters');
73
85
  }
86
+ if (initialFilters.length > 0) {
87
+ applyInitialFilters(initialFilterState, initialFilters);
88
+ }
74
89
  return initialFilterState;
75
90
  };
76
91
  exports.getInitialStateFromFilters = getInitialStateFromFilters;
@@ -58,6 +58,12 @@ Object.defineProperty(exports, "useDisableSelectRows", {
58
58
  return _useDisableSelectRows.default;
59
59
  }
60
60
  });
61
+ Object.defineProperty(exports, "useEditableCell", {
62
+ enumerable: true,
63
+ get: function get() {
64
+ return _useEditableCell.default;
65
+ }
66
+ });
61
67
  Object.defineProperty(exports, "useExpandedRow", {
62
68
  enumerable: true,
63
69
  get: function get() {
@@ -142,5 +148,6 @@ var _useSelectAllToggle = _interopRequireDefault(require("./useSelectAllToggle")
142
148
  var _useColumnCenterAlign = _interopRequireDefault(require("./useColumnCenterAlign"));
143
149
  var _useColumnOrder = _interopRequireDefault(require("./useColumnOrder"));
144
150
  var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
151
+ var _useEditableCell = _interopRequireDefault(require("./useEditableCell"));
145
152
  var _useFiltering = _interopRequireDefault(require("./useFiltering"));
146
153
  var _getAutoSizedColumnWidth = require("./utils/getAutoSizedColumnWidth");
@@ -1,6 +1,7 @@
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
  });
@@ -8,16 +9,21 @@ exports.default = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
12
13
  var _classnames = _interopRequireDefault(require("classnames"));
13
14
  var _carbonComponentsReact = require("carbon-components-react");
14
15
  var _settings = require("../../settings");
15
16
  var _excluded = ["id", "itemText", "onClick", "icon"],
16
17
  _excluded2 = ["id", "onClick", "shouldHideMenuItem", "shouldDisableMenuItem", "disabled"];
18
+ 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); }
19
+ 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
20
  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; }
18
21
  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; }
19
22
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
20
23
  var useActionsColumn = function useActionsColumn(hooks) {
24
+ (0, _react.useEffect)(function () {
25
+ _settings.pkg.checkReportFeatureEnabled('Datagrid.useActionsColumn');
26
+ }, []);
21
27
  var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
22
28
  var rowActions = instance.rowActions,
23
29
  isFetching = instance.isFetching,
@@ -10,12 +10,16 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
+ var _settings = require("../../settings");
13
14
  var _CustomizeColumns = require("./Datagrid/addons/CustomizeColumns");
14
15
  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
16
  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; }
16
17
  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; }
17
18
  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; }
18
19
  var useCustomizeColumns = function useCustomizeColumns(hooks) {
20
+ React.useEffect(function () {
21
+ _settings.pkg.checkReportFeatureEnabled('Datagrid.useCustomizeColumns');
22
+ }, []);
19
23
  var _React$useState = React.useState(false),
20
24
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
21
25
  isTearsheetOpen = _React$useState2[0],
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
9
+ /**
10
+ * Copyright IBM Corp. 2023, 2023
11
+ *
12
+ * This source code is licensed under the Apache-2.0 license found in the
13
+ * LICENSE file in the root directory of this source tree.
14
+ */
15
+
16
+ var useEditableCell = function useEditableCell(hooks) {
17
+ (0, _useInlineEdit.default)(hooks, 'usingEditableCell');
18
+ };
19
+ var _default = useEditableCell;
20
+ exports.default = _default;
@@ -8,11 +8,15 @@ exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _react = require("react");
11
+ var _settings = require("../../settings");
11
12
  var _DatagridExpandedRow = _interopRequireDefault(require("./Datagrid/DatagridExpandedRow"));
12
13
  var _useRowExpander = _interopRequireDefault(require("./useRowExpander"));
13
14
  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; }
14
15
  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; }
15
16
  var useExpandedRow = function useExpandedRow(hooks) {
17
+ (0, _react.useEffect)(function () {
18
+ _settings.pkg.checkReportFeatureEnabled('Datagrid.useExpandedRow');
19
+ }, []);
16
20
  (0, _useRowExpander.default)(hooks);
17
21
  var useInstance = function useInstance(instance) {
18
22
  var rows = instance.rows,
@@ -8,11 +8,15 @@ exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _react = require("react");
11
+ var _settings = require("../../settings");
11
12
  var _Filtering = require("./Datagrid/addons/Filtering");
12
13
  var _constants = require("./Datagrid/addons/Filtering/constants");
13
14
  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; }
14
15
  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; }
15
16
  var useFiltering = function useFiltering(hooks) {
17
+ (0, _react.useEffect)(function () {
18
+ _settings.pkg.checkReportFeatureEnabled('Datagrid.useFiltering');
19
+ }, []);
16
20
  var filterTypes = (0, _react.useMemo)(function () {
17
21
  return {
18
22
  date: function date(rows, id, _ref) {
@@ -64,11 +68,13 @@ var useFiltering = function useFiltering(hooks) {
64
68
  setAllFilters = instance.setAllFilters,
65
69
  setFilter = instance.setFilter,
66
70
  headers = instance.headers,
67
- data = instance.data;
71
+ data = instance.data,
72
+ state = instance.state;
68
73
  var defaultProps = {
69
74
  variation: 'flyout',
70
75
  updateMethod: _constants.BATCH,
71
- panelIconDescription: 'Open filter panel'
76
+ panelIconDescription: 'Open filter panel',
77
+ initialFilters: state.filters
72
78
  };
73
79
  var getFilterFlyoutProps = function getFilterFlyoutProps() {
74
80
  return _objectSpread(_objectSpread(_objectSpread({}, defaultProps), filterProps), {}, {
@@ -1,25 +1,36 @@
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
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
10
11
  var _settings = require("../../settings");
11
12
  var _classnames = _interopRequireDefault(require("classnames"));
12
13
  var _InlineEditCell = require("./Datagrid/addons/InlineEdit/InlineEditCell");
13
- /*
14
- * Licensed Materials - Property of IBM
15
- * 5724-Q36
16
- * (c) Copyright IBM Corp. 2022
17
- * US Government Users Restricted Rights - Use, duplication or disclosure
18
- * restricted by GSA ADP Schedule Contract with IBM Corp.
14
+ var _pconsole = require("../../global/js/utils/pconsole");
15
+ 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
+ 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
+ /**
18
+ * Copyright IBM Corp. 2022, 2023
19
+ *
20
+ * This source code is licensed under the Apache-2.0 license found in the
21
+ * LICENSE file in the root directory of this source tree.
19
22
  */
20
23
 
21
24
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
22
- var useInlineEdit = function useInlineEdit(hooks) {
25
+ var useInlineEdit = function useInlineEdit(hooks, usingEditableCell) {
26
+ (0, _react.useEffect)(function () {
27
+ _settings.pkg.checkReportFeatureEnabled('Datagrid.useInlineEdit');
28
+ }, []);
29
+ (0, _react.useEffect)(function () {
30
+ if (!usingEditableCell) {
31
+ (0, _pconsole.warn)("The 'useInlineEdit' hook is being renamed in Carbon for IBM Products v2 to 'useEditableCell'. You can use this newly renamed hook now or upgrade when moving to v2.");
32
+ }
33
+ }, [usingEditableCell]);
23
34
  var addInlineEdit = function addInlineEdit(props, _ref) {
24
35
  var _cell$column, _cell$column$inlineEd, _instance$columns$fil;
25
36
  var cell = _ref.cell,
@@ -6,19 +6,22 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = require("react");
9
10
  var _settings = require("../../settings");
10
11
  var _classnames = _interopRequireDefault(require("classnames"));
11
12
  var _useNestedRowExpander = _interopRequireDefault(require("./useNestedRowExpander"));
12
- /*
13
- * Licensed Materials - Property of IBM
14
- * 5724-Q36
15
- * (c) Copyright IBM Corp. 2020
16
- * US Government Users Restricted Rights - Use, duplication or disclosure
17
- * restricted by GSA ADP Schedule Contract with IBM Corp.
13
+ /**
14
+ * Copyright IBM Corp. 2020, 2023
15
+ *
16
+ * This source code is licensed under the Apache-2.0 license found in the
17
+ * LICENSE file in the root directory of this source tree.
18
18
  */
19
19
 
20
20
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
21
21
  var useNestedRows = function useNestedRows(hooks) {
22
+ (0, _react.useEffect)(function () {
23
+ _settings.pkg.checkReportFeatureEnabled('Datagrid.useNestedRows');
24
+ }, []);
22
25
  (0, _useNestedRowExpander.default)(hooks);
23
26
  var marginLeft = 24;
24
27
  var getRowProps = function getRowProps(props, _ref) {
@@ -30,9 +30,17 @@ var useOnRowClick = function useOnRowClick(hooks) {
30
30
  toggleRowSelected(id, true);
31
31
  }
32
32
  };
33
+ var onKeyDown = function onKeyDown(event) {
34
+ var key = event.key;
35
+ if (key === 'Enter') {
36
+ onClick();
37
+ }
38
+ };
33
39
  return [props, {
34
- onClick: onClick
40
+ onClick: onClick,
41
+ onKeyDown: onKeyDown
35
42
  }, {
43
+ tabIndex: 0,
36
44
  style: {
37
45
  cursor: 'pointer'
38
46
  }
@@ -73,6 +73,7 @@ var SelectRow = function SelectRow(datagridState) {
73
73
  radio = datagridState.radio,
74
74
  toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
75
75
  onRadioSelect = datagridState.onRadioSelect,
76
+ onRowSelect = datagridState.onRowSelect,
76
77
  columns = datagridState.columns,
77
78
  withStickyColumn = datagridState.withStickyColumn;
78
79
  var _useState = (0, _react.useState)(window.innerWidth),
@@ -105,6 +106,7 @@ var SelectRow = function SelectRow(datagridState) {
105
106
  }
106
107
  }
107
108
  onChange(e);
109
+ onRowSelect === null || onRowSelect === void 0 ? void 0 : onRowSelect(row, e);
108
110
  },
109
111
  id: "".concat(tableId, "-").concat(row.index),
110
112
  name: "".concat(tableId, "-").concat(row.index, "-name"),
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EditInPlace = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _settings = require("../../settings");
14
+ var _InlineEditV = require("../InlineEditV1");
15
+ var _InlineEditV2 = require("../InlineEditV2");
16
+ var _excluded = ["v2"];
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+ 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; }
20
+ 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; }
21
+ /**
22
+ * this is a wrapper component that will allow us to support the rename of InlineEdit to EditInPlace
23
+ *
24
+ * if the user passes in the v2 feature flag the v2 version of the component will be rendered
25
+ * since this is a temporary solution the named export should just remain InlineEdit unlike how
26
+ * Card works as a base layer for Productive and Expressive cards.
27
+ */
28
+
29
+ var componentName = 'EditInPlace';
30
+ var EditInPlace = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
31
+ var v2 = _ref.v2,
32
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
+ var props = _objectSpread(_objectSpread({}, rest), {}, {
34
+ ref: ref
35
+ });
36
+ if (v2 === true) {
37
+ return /*#__PURE__*/_react.default.createElement(_InlineEditV2.InlineEditV2, props);
38
+ }
39
+ return /*#__PURE__*/_react.default.createElement(_InlineEditV.InlineEditV1, props);
40
+ });
41
+ exports.EditInPlace = EditInPlace;
42
+ exports.EditInPlace = EditInPlace = _settings.pkg.checkComponentEnabled(EditInPlace, componentName);
43
+ EditInPlace.displayName = componentName;
44
+ EditInPlace.propTypes = {
45
+ v2: _propTypes.default.bool
46
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EditInPlace", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _EditInPlace.EditInPlace;
10
+ }
11
+ });
12
+ var _EditInPlace = require("./EditInPlace");