@carbon/ibm-products 2.43.2-canary.4 → 2.43.2-canary.40

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 (203) hide show
  1. package/css/index-full-carbon.css +52 -3
  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 +12 -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 +52 -3
  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 +52 -3
  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/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
  18. package/es/components/ConditionBuilder/ConditionBuilder.js +67 -20
  19. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  20. package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +129 -0
  21. package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -4
  22. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
  23. package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
  24. package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
  25. package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
  26. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  27. package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
  28. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
  29. package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
  30. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
  31. package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
  32. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
  33. package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
  34. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
  35. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +24 -16
  36. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +19 -4
  37. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  38. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +109 -0
  39. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  40. package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +58 -33
  41. package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
  42. package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -5
  43. package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
  44. package/es/components/ConditionBuilder/utils/util.d.ts +1 -0
  45. package/es/components/ConditionBuilder/utils/util.js +16 -1
  46. package/es/components/DataSpreadsheet/DataSpreadsheet.d.ts +12 -0
  47. package/es/components/DataSpreadsheet/DataSpreadsheet.js +51 -19
  48. package/es/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +21 -1
  49. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +40 -8
  50. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  51. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +20 -6
  52. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  53. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  54. package/es/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  55. package/es/components/DataSpreadsheet/types/index.d.ts +1 -1
  56. package/es/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  57. package/es/components/Datagrid/Datagrid/Datagrid.js +2 -1
  58. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  59. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +11 -1
  60. package/es/components/Datagrid/Datagrid/DatagridRow.js +13 -2
  61. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  62. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  63. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  64. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
  65. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  66. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  67. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +1 -1
  68. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +74 -11
  69. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  70. package/es/components/Datagrid/types/index.d.ts +37 -4
  71. package/es/components/Datagrid/useActionsColumn.d.ts +8 -1
  72. package/es/components/Datagrid/useActionsColumn.js +7 -6
  73. package/es/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  74. package/es/components/Datagrid/useColumnRightAlign.js +4 -3
  75. package/es/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  76. package/es/components/Datagrid/useCustomizeColumns.js +4 -3
  77. package/es/components/Datagrid/useInlineEdit.js +12 -2
  78. package/es/components/Datagrid/useNestedRows.js +32 -13
  79. package/es/components/Decorator/Decorator.js +2 -1
  80. package/es/components/DecoratorBase/DecoratorBase.js +3 -5
  81. package/es/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  82. package/es/components/DecoratorLink/DecoratorLink.js +2 -1
  83. package/es/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  84. package/es/components/EditTearsheet/EditTearsheet.d.ts +5 -1
  85. package/es/components/EditTearsheet/EditTearsheet.js +0 -1
  86. package/es/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  87. package/es/components/EditTearsheet/EditTearsheetForm.js +3 -0
  88. package/es/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  89. package/es/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  90. package/es/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  91. package/es/components/PageHeader/PageHeader.js +1 -0
  92. package/es/components/RemoveModal/RemoveModal.d.ts +4 -0
  93. package/es/components/RemoveModal/RemoveModal.js +7 -1
  94. package/es/components/StatusIndicator/StatusIndicatorStep.js +87 -0
  95. package/es/components/Tearsheet/Tearsheet.d.ts +8 -1
  96. package/es/components/Tearsheet/Tearsheet.js +9 -1
  97. package/es/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  98. package/es/components/Tearsheet/TearsheetNarrow.js +12 -0
  99. package/es/components/Tearsheet/TearsheetShell.d.ts +10 -0
  100. package/es/components/Tearsheet/TearsheetShell.js +17 -3
  101. package/es/components/Toolbar/ToolbarButton.js +1 -1
  102. package/es/components/index.d.ts +1 -1
  103. package/es/index.js +1 -0
  104. package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +23 -21
  105. package/lib/components/ConditionBuilder/ConditionBuilder.js +67 -20
  106. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +15 -0
  107. package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +137 -0
  108. package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +6 -3
  109. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +5 -1
  110. package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +16 -4
  111. package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +2 -2
  112. package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +2 -2
  113. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +9 -11
  114. package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +36 -32
  115. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +0 -1
  116. package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +7 -2
  117. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +6 -1
  118. package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +18 -10
  119. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +39 -36
  120. package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +12 -10
  121. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +1 -1
  122. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +23 -15
  123. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +20 -5
  124. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +13 -0
  125. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +117 -0
  126. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.d.ts → ItemOptionForValueField.d.ts} +2 -2
  127. package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/{ConditionBuilderItemOption.js → ItemOptionForValueField.js} +56 -31
  128. package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +4 -6
  129. package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +14 -4
  130. package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -2
  131. package/lib/components/ConditionBuilder/utils/util.d.ts +1 -0
  132. package/lib/components/ConditionBuilder/utils/util.js +17 -0
  133. package/lib/components/DataSpreadsheet/DataSpreadsheet.d.ts +12 -0
  134. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +51 -19
  135. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.d.ts +21 -1
  136. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +40 -8
  137. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.d.ts +8 -0
  138. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +20 -6
  139. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseMove.js +4 -1
  140. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.d.ts +3 -1
  141. package/lib/components/DataSpreadsheet/hooks/useSpreadsheetMouseUp.js +15 -3
  142. package/lib/components/DataSpreadsheet/types/index.d.ts +1 -1
  143. package/lib/components/DataSpreadsheet/utils/moveColumnIndicatorLine.js +34 -2
  144. package/lib/components/Datagrid/Datagrid/Datagrid.js +2 -1
  145. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  146. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +11 -1
  147. package/lib/components/Datagrid/Datagrid/DatagridRow.js +13 -2
  148. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +6 -1
  149. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +6 -1
  150. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.d.ts +3 -1
  151. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +6 -3
  152. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.d.ts +1 -1
  153. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +21 -16
  154. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +1 -1
  155. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +73 -10
  156. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +10 -2
  157. package/lib/components/Datagrid/types/index.d.ts +37 -4
  158. package/lib/components/Datagrid/useActionsColumn.d.ts +8 -1
  159. package/lib/components/Datagrid/useActionsColumn.js +7 -6
  160. package/lib/components/Datagrid/useColumnRightAlign.d.ts +8 -1
  161. package/lib/components/Datagrid/useColumnRightAlign.js +4 -3
  162. package/lib/components/Datagrid/useCustomizeColumns.d.ts +8 -1
  163. package/lib/components/Datagrid/useCustomizeColumns.js +4 -3
  164. package/lib/components/Datagrid/useInlineEdit.js +12 -2
  165. package/lib/components/Datagrid/useNestedRows.js +32 -13
  166. package/lib/components/Decorator/Decorator.js +2 -1
  167. package/lib/components/DecoratorBase/DecoratorBase.js +3 -5
  168. package/lib/components/DecoratorDualButton/DecoratorDualButton.js +2 -1
  169. package/lib/components/DecoratorLink/DecoratorLink.js +2 -1
  170. package/lib/components/DecoratorSingleButton/DecoratorSingleButton.js +2 -1
  171. package/lib/components/EditTearsheet/EditTearsheet.d.ts +5 -1
  172. package/lib/components/EditTearsheet/EditTearsheet.js +0 -1
  173. package/lib/components/EditTearsheet/EditTearsheetForm.d.ts +45 -2
  174. package/lib/components/EditTearsheet/EditTearsheetForm.js +3 -0
  175. package/lib/components/HTTPErrors/HTTPError403/HTTPError403.js +6 -0
  176. package/lib/components/HTTPErrors/HTTPError404/HTTPError404.js +6 -0
  177. package/lib/components/HTTPErrors/HTTPErrorOther/HTTPErrorOther.js +6 -0
  178. package/lib/components/PageHeader/PageHeader.js +1 -0
  179. package/lib/components/RemoveModal/RemoveModal.d.ts +4 -0
  180. package/lib/components/RemoveModal/RemoveModal.js +7 -1
  181. package/lib/components/StatusIndicator/StatusIndicatorStep.js +94 -0
  182. package/lib/components/Tearsheet/Tearsheet.d.ts +8 -1
  183. package/lib/components/Tearsheet/Tearsheet.js +9 -1
  184. package/lib/components/Tearsheet/TearsheetNarrow.d.ts +11 -0
  185. package/lib/components/Tearsheet/TearsheetNarrow.js +12 -0
  186. package/lib/components/Tearsheet/TearsheetShell.d.ts +10 -0
  187. package/lib/components/Tearsheet/TearsheetShell.js +16 -2
  188. package/lib/components/Toolbar/ToolbarButton.js +1 -1
  189. package/lib/components/index.d.ts +1 -1
  190. package/lib/index.js +5 -0
  191. package/package.json +7 -6
  192. package/scss/components/ConditionBuilder/styles/_conditionBuilderCondition.scss +9 -1
  193. package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +26 -1
  194. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +8 -0
  195. package/scss/components/Datagrid/styles/_useInlineEdit.scss +13 -0
  196. package/scss/components/StatusIcon/_status-icon.scss +4 -4
  197. package/scss/components/StringFormatter/_string-formatter.scss +2 -2
  198. package/scss/components/UserProfileImage/_user-profile-image.scss +6 -2
  199. package/telemetry.yml +8 -3
  200. package/es/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  201. package/es/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -16
  202. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.d.ts +0 -1
  203. package/lib/components/ConditionBuilder/utils/checkForHoldingKey.js +0 -20
@@ -57,7 +57,7 @@ InlineEditButton.propTypes = {
57
57
  nonEditCell: index["default"].bool,
58
58
  placeholder: index["default"].string,
59
59
  renderIcon: index["default"].oneOfType([index["default"].func, index["default"].object]),
60
- type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
60
+ type: index["default"].oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
61
61
  value: index["default"].oneOfType([index["default"].string, index["default"].node])
62
62
  };
63
63
 
@@ -28,7 +28,7 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
28
28
 
29
29
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
30
30
  var InlineEditCell = function InlineEditCell(_ref) {
31
- var _config$validator, _value$text;
31
+ var _config$validator;
32
32
  var cell = _ref.cell,
33
33
  config = _ref.config,
34
34
  _ref$disabledCell = _ref.disabledCell,
@@ -75,6 +75,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
75
75
  var _ref2 = config || {},
76
76
  inputProps = _ref2.inputProps;
77
77
  var textInputRef = React.useRef();
78
+ var checkboxRef = React.useRef();
78
79
  var numberInputRef = React.useRef();
79
80
  var dropdownRef = React.useRef();
80
81
  var datePickerRef = React.useRef();
@@ -217,10 +218,36 @@ var InlineEditCell = function InlineEditCell(_ref) {
217
218
  var handleKeyDown = function handleKeyDown(event) {
218
219
  var key = event.key;
219
220
  switch (key) {
221
+ case 'ArrowRight':
222
+ case 'ArrowLeft':
223
+ case 'ArrowUp':
224
+ case 'ArrowDown':
225
+ if (inEditMode && event.target.type === 'checkbox') {
226
+ var newCellId = getNewCellId(key);
227
+ saveCellData(cellValue);
228
+ setInitialValue(cellValue);
229
+ dispatch({
230
+ type: 'EXIT_EDIT_MODE',
231
+ payload: newCellId
232
+ });
233
+ setInEditMode(false);
234
+ sendFocusBackToGrid();
235
+ }
236
+ break;
220
237
  // Save cell contents to data
221
238
  case 'Tab':
222
239
  case 'Enter':
223
240
  {
241
+ if (type === 'checkbox') {
242
+ // Since checkbox doesn't need to click into it to enter `inEditMode` we don't need to check for it
243
+ var _newCellId = getNewCellId(key);
244
+ dispatch({
245
+ type: 'EXIT_EDIT_MODE',
246
+ payload: _newCellId
247
+ });
248
+ setInEditMode(false);
249
+ sendFocusBackToGrid();
250
+ }
224
251
  if (inEditMode) {
225
252
  // Dropdown saves are handled in the Dropdown's/DatePicker's onChange prop
226
253
  if (type === 'selection' || type === 'date') {
@@ -234,12 +261,12 @@ var InlineEditCell = function InlineEditCell(_ref) {
234
261
  if (isInvalid) {
235
262
  return;
236
263
  }
237
- var newCellId = getNewCellId(key);
264
+ var _newCellId2 = getNewCellId(key);
238
265
  saveCellData(cellValue);
239
266
  setInitialValue(cellValue);
240
267
  dispatch({
241
268
  type: 'EXIT_EDIT_MODE',
242
- payload: newCellId
269
+ payload: _newCellId2
243
270
  });
244
271
  setInEditMode(false);
245
272
  sendFocusBackToGrid();
@@ -434,9 +461,27 @@ var InlineEditCell = function InlineEditCell(_ref) {
434
461
  ref: numberInputRef
435
462
  }));
436
463
  };
464
+ var renderCheckBoxCell = function renderCheckBoxCell() {
465
+ return /*#__PURE__*/React__default["default"].createElement(react.Checkbox, _rollupPluginBabelHelpers["extends"]({
466
+ labelText: cellLabel || 'Checkbox'
467
+ }, inputProps, {
468
+ className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-checkbox"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-checkbox-focus"), activeCellId === cellId)),
469
+ id: cellId,
470
+ hideLabel: true,
471
+ checked: cellValue,
472
+ onChange: function onChange(event, _ref10) {
473
+ var checked = _ref10.checked;
474
+ setCellValue(checked);
475
+ if (inputProps.onChange) {
476
+ inputProps.onChange(checked);
477
+ }
478
+ },
479
+ ref: checkboxRef
480
+ }));
481
+ };
437
482
  var renderTextInput = function renderTextInput() {
438
- var _ref10 = config || {},
439
- validator = _ref10.validator;
483
+ var _ref11 = config || {},
484
+ validator = _ref11.validator;
440
485
  var isInvalid = validator === null || validator === void 0 ? void 0 : validator(cellValue);
441
486
  return /*#__PURE__*/React__default["default"].createElement(react.TextInput, _rollupPluginBabelHelpers["extends"]({
442
487
  labelText: cellLabel,
@@ -456,6 +501,24 @@ var InlineEditCell = function InlineEditCell(_ref) {
456
501
  ref: textInputRef
457
502
  }));
458
503
  };
504
+ var getLabel = function getLabel() {
505
+ var _value$text, _checkStaticCell;
506
+ var checkStaticCell = function checkStaticCell(val) {
507
+ if (_rollupPluginBabelHelpers["typeof"](val) === 'object' && val !== null && val !== void 0 && val.isStaticCell) {
508
+ return val === null || val === void 0 ? void 0 : val.value;
509
+ }
510
+ };
511
+ switch (type) {
512
+ case 'selection':
513
+ checkStaticCell(value);
514
+ return (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value;
515
+ case 'date':
516
+ checkStaticCell(value);
517
+ return buildDate(value);
518
+ default:
519
+ return (_checkStaticCell = checkStaticCell(value)) !== null && _checkStaticCell !== void 0 ? _checkStaticCell : value;
520
+ }
521
+ };
459
522
  return (
460
523
  /*#__PURE__*/
461
524
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
@@ -464,15 +527,15 @@ var InlineEditCell = function InlineEditCell(_ref) {
464
527
  "data-cell-id": cellId,
465
528
  "data-column-index": columnIndex,
466
529
  "data-row-index": cell.row.index,
467
- "data-disabled": disabledCell,
530
+ "data-disabled": disabledCell || nonEditCell,
468
531
  "data-inline-type": type,
469
532
  onClick: !nonEditCell ? handleInlineCellClick : addActiveState,
470
533
  onKeyDown: !nonEditCell ? handleKeyDown : null,
471
534
  className: cx__default["default"]("".concat(blockClass, "__inline-edit--outer-cell-button"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__inline-edit--outer-cell-button--").concat(rowSize), rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--lg"), !rowSize), "".concat(blockClass, "__inline-edit--outer-cell-button--invalid"), inEditMode && (config === null || config === void 0 || (_config$validator = config.validator) === null || _config$validator === void 0 ? void 0 : _config$validator.call(config, cellValue))), "".concat(blockClass, "__static--outer-cell"), !disabledCell))
472
- }, !nonEditCell && !disabledCell && renderRegularCell(), (!inEditMode || disabledCell) && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
535
+ }, !nonEditCell && !disabledCell && type !== 'checkbox' && renderRegularCell(), (!inEditMode || disabledCell) && type !== 'checkbox' && /*#__PURE__*/React__default["default"].createElement(InlineEditButton.InlineEditButton, {
473
536
  isActiveCell: cellId === activeCellId,
474
537
  renderIcon: setRenderIcon(),
475
- label: type === 'selection' ? (_value$text = value === null || value === void 0 ? void 0 : value.text) !== null && _value$text !== void 0 ? _value$text : value : type === 'date' ? buildDate(value) : value,
538
+ label: getLabel(),
476
539
  disabledCell: disabledCell,
477
540
  labelIcon: (value === null || value === void 0 ? void 0 : value.icon) || null,
478
541
  placeholder: placeholder,
@@ -480,7 +543,7 @@ var InlineEditCell = function InlineEditCell(_ref) {
480
543
  nonEditCell: nonEditCell,
481
544
  columnConfig: cell.column,
482
545
  type: type
483
- }), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
546
+ }), type === 'checkbox' && renderCheckBoxCell(), !nonEditCell && inEditMode && cellId === activeCellId && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, type === 'text' && renderTextInput(), type === 'number' && renderNumberInput(), type === 'selection' && renderSelectCell(), type === 'date' && renderDateCell()))
484
547
  );
485
548
  };
486
549
  InlineEditCell.propTypes = {
@@ -498,7 +561,7 @@ InlineEditCell.propTypes = {
498
561
  nonEditCell: index["default"].bool,
499
562
  placeholder: index["default"].string,
500
563
  tabIndex: index["default"].number,
501
- type: index["default"].oneOf(['text', 'number', 'selection', 'date']),
564
+ type: index["default"].oneOf(['text', 'number', 'selection', 'date', 'checkbox']),
502
565
  value: index["default"].oneOfType([index["default"].string, index["default"].node, index["default"].object])
503
566
  };
504
567
 
@@ -78,7 +78,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
78
78
  };
79
79
 
80
80
  // Stop grid key listener when in edit mode
81
- var isEditing = document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
81
+ var isEditing = focusedCell.getAttribute('data-inline-type') !== 'checkbox' && document.activeElement.id === activeCellId && document.activeElement.id === editId || dropdownIsActive() || datePickerIsActive();
82
82
  if (isEditing || !gridActive) {
83
83
  return;
84
84
  }
@@ -91,6 +91,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
91
91
  event.preventDefault();
92
92
  }
93
93
  var isDisabledCell = focusedCell.getAttribute('data-disabled') === 'false' ? false : true;
94
+ var isEditableCell = !event.target.classList.contains("".concat(blockClass, "__inline-edit-button--non-edit"));
94
95
  var sharedUpdateParams = {
95
96
  oldId: activeCellId,
96
97
  instance: instance
@@ -198,7 +199,7 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
198
199
  case 'Enter':
199
200
  {
200
201
  // Disabled cells are not allowed to go into edit mode
201
- if (isDisabledCell) {
202
+ if (isDisabledCell || !isEditableCell) {
202
203
  return;
203
204
  }
204
205
  // Only go into edit mode if there is no editId, meaning that we're not already in edit mode
@@ -211,6 +212,13 @@ var handleGridKeyPress = function handleGridKeyPress(_ref) {
211
212
  dropdownTrigger === null || dropdownTrigger === void 0 || dropdownTrigger.click();
212
213
  }, 1);
213
214
  }
215
+ if (focusedType === 'checkbox') {
216
+ setTimeout(function () {
217
+ var checkboxTrigger = focusedCell.querySelector('input');
218
+ checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.click();
219
+ checkboxTrigger === null || checkboxTrigger === void 0 || checkboxTrigger.focus();
220
+ }, 1);
221
+ }
214
222
  if (focusedType === 'date') {
215
223
  setTimeout(function () {
216
224
  var dateInputTrigger = focusedCell.querySelector('input');
@@ -5,10 +5,10 @@ import { RadioButtonProps } from '@carbon/react/lib/components/RadioButton/Radio
5
5
  import { RadioButtonGroupProps } from '@carbon/react/lib/components/RadioButtonGroup/RadioButtonGroup';
6
6
  import { CheckboxProps } from '@carbon/react/lib/components/Checkbox';
7
7
  import { NumberInputProps } from '@carbon/react/lib/components/NumberInput/NumberInput';
8
- import { CSSProperties, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
9
- import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseTableHooks } from 'react-table';
8
+ import React, { CSSProperties, ComponentType, FunctionComponent, JSXElementConstructor, MutableRefObject, ReactNode, TouchEventHandler } from 'react';
9
+ import { Cell, Column, ColumnInstance, FilterValue, Filters, HeaderGroup, Meta, Row, TableCommonProps, TableDispatch, TableInstance, TableToggleAllRowsSelectedProps, UseExpandedRowProps, UseFiltersInstanceProps, UsePaginationInstanceProps, UseResizeColumnsColumnProps, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectRowProps, UseRowSelectState, UseSortByColumnProps, UseSortByOptions, UseTableHooks } from 'react-table';
10
10
  import { CarbonIconType } from '@carbon/react/icons';
11
- import { type ButtonProps } from '@carbon/react';
11
+ import { IconButton, type ButtonProps } from '@carbon/react';
12
12
  import { TableBatchActionsProps } from '@carbon/react/lib/components/DataTable/TableBatchActions';
13
13
  export type Size = 'xs' | 'sm' | 'md' | 'lg';
14
14
  export interface ResizerProps {
@@ -59,6 +59,18 @@ interface Labels {
59
59
  allPageRows?: object;
60
60
  allRows?: object;
61
61
  }
62
+ interface ColumnLabels {
63
+ findColumnPlaceholderLabel?: string;
64
+ resetToDefaultLabel?: string;
65
+ customizeTearsheetHeadingLabel?: string;
66
+ primaryButtonTextLabel?: string;
67
+ secondaryButtonTextLabel?: string;
68
+ instructionsLabel?: string;
69
+ iconTooltipLabel?: string;
70
+ assistiveTextInstructionsLabel?: string;
71
+ assistiveTextDisabledInstructionsLabel?: string;
72
+ selectAllLabel?: string;
73
+ }
62
74
  interface Section {
63
75
  categoryTitle?: string;
64
76
  filters?: DataGridFilter[];
@@ -85,9 +97,10 @@ export interface DataGridToggleAllRowsProps extends TableToggleAllRowsSelectedPr
85
97
  }
86
98
  export interface DatagridTableHooks<T extends object = any> extends UseTableHooks<T> {
87
99
  }
88
- export interface DatagridColumn<T extends object = any> extends ColumnInstance<T> {
100
+ export interface DatagridColumn<T extends object = any> extends ColumnInstance<T>, UseSortByOptions<T> {
89
101
  sticky?: 'left' | 'right';
90
102
  className?: string;
103
+ rightAlignedColumn?: boolean;
91
104
  disableSortBy?: boolean;
92
105
  centerAlignedColumn?: boolean;
93
106
  }
@@ -100,6 +113,7 @@ export interface DatagridRow<T extends object = any> extends Omit<Row<T>, 'cells
100
113
  RowExpansionRenderer?: (state?: DataGridState) => void;
101
114
  cells: Array<DataGridCell>;
102
115
  isSkeleton?: boolean;
116
+ hasExpanded?: boolean;
103
117
  }
104
118
  export interface DataGridHeader<T extends object = any> extends ColumnInstance, UseResizeColumnsColumnProps<T>, UseSortByColumnProps<T> {
105
119
  className(className: any, arg1: {
@@ -120,6 +134,16 @@ interface DataGridTableState extends UseResizeColumnsState<any>, UseRowSelectSta
120
134
  }
121
135
  export interface DataGridTableInstance<T extends object = any> extends TableInstance<T> {
122
136
  }
137
+ export interface RowAction {
138
+ id?: string;
139
+ itemText?: string;
140
+ icon?: ComponentType | FunctionComponent;
141
+ align?: React.ComponentProps<typeof IconButton>['align'];
142
+ shouldHideMenuItem?: (...args: any[]) => void;
143
+ shouldDisableMenuItem?: (...args: any[]) => void;
144
+ disabled?: boolean;
145
+ onClick?: (...args: any[]) => void;
146
+ }
123
147
  export interface DataGridState<T extends object = any> extends TableCommonProps, UsePaginationInstanceProps<T>, Omit<TableInstance<T>, 'state' | 'headers' | 'rows' | 'columns'>, Omit<UseFiltersInstanceProps<T>, 'rows'>, UseRowSelectInstanceProps<T>, Pick<UseRowSelectInstanceProps<T>, 'toggleAllRowsSelected'> {
124
148
  withVirtualScroll?: boolean;
125
149
  DatagridPagination?: JSXElementConstructor<any>;
@@ -142,6 +166,7 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
142
166
  batchActions?: boolean;
143
167
  row: DatagridRow;
144
168
  rows: Array<DatagridRow<any>>;
169
+ rowActions?: RowAction[];
145
170
  columns: Array<DatagridColumn>;
146
171
  key?: any;
147
172
  rowSize?: Size;
@@ -197,6 +222,13 @@ export interface DataGridState<T extends object = any> extends TableCommonProps,
197
222
  expandedRowIds?: object;
198
223
  onRowClick?: (row: any, event: any) => void;
199
224
  onSort?: boolean;
225
+ customizeColumnsProps?: {
226
+ onSaveColumnPrefs?: (args: any) => void;
227
+ labels?: ColumnLabels;
228
+ isTearsheetOpen?: boolean;
229
+ setIsTearsheetOpen?: (args: boolean) => void;
230
+ };
231
+ CustomizeColumnsButton?: (args: any) => ReactNode;
200
232
  column?: DatagridColumn;
201
233
  expandedContentHeight?: number;
202
234
  onRowExpand?: (row: DatagridRow, event: React.MouseEvent<HTMLElement>) => void;
@@ -217,4 +249,5 @@ export interface ResizeHeaderProps {
217
249
  isFetching?: boolean;
218
250
  }
219
251
  export type VisibleColumns<T extends object = {}> = (allColumns: Array<ColumnInstance<T>>, meta: Meta<T>) => Array<Column<T>>;
252
+ export type NodeFuncType = (props: any) => ReactNode;
220
253
  export {};
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useActionsColumn: (hooks: Hooks) => void;
1
9
  export default useActionsColumn;
2
- declare function useActionsColumn(hooks: any): void;
@@ -26,9 +26,10 @@ var _excluded = ["align", "id", "itemText", "onClick", "icon", "shouldHideMenuIt
26
26
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
27
27
  var useActionsColumn = function useActionsColumn(hooks) {
28
28
  var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
29
- var rowActions = instance.rowActions,
30
- isFetching = instance.isFetching,
31
- selectedRowIds = instance.state.selectedRowIds;
29
+ var _ref = instance,
30
+ rowActions = _ref.rowActions,
31
+ isFetching = _ref.isFetching,
32
+ selectedRowIds = _ref.state.selectedRowIds;
32
33
  var getDisabledState = function getDisabledState(rowIndex) {
33
34
  var selectedRowIndexes = Object.keys(selectedRowIds).map(function (n) {
34
35
  return Number(n);
@@ -88,10 +89,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
88
89
  return;
89
90
  }
90
91
  e.stopPropagation();
91
- _onClick(id, row, e);
92
+ _onClick === null || _onClick === void 0 || _onClick(id, row, e);
92
93
  },
93
94
  disabled: isDisabledByRow
94
- }), /*#__PURE__*/React__default["default"].createElement(Icon, null)));
95
+ }), Icon && /*#__PURE__*/React__default["default"].createElement(Icon, null)));
95
96
  })), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(react.OverflowMenu, {
96
97
  align: "left",
97
98
  size: "sm",
@@ -117,7 +118,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
117
118
  disabled: isDisabledByRow,
118
119
  onClick: function onClick(e) {
119
120
  e.stopPropagation();
120
- _onClick2(id, row, e);
121
+ _onClick2 === null || _onClick2 === void 0 || _onClick2(id, row, e);
121
122
  },
122
123
  key: id
123
124
  }));
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2020, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useColumnRightAlign: (hooks: Hooks) => void;
1
9
  export default useColumnRightAlign;
2
- declare function useColumnRightAlign(hooks: any): void;
@@ -22,16 +22,17 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
22
22
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
23
23
  var useColumnRightAlign = function useColumnRightAlign(hooks) {
24
24
  var RightAlignRenderer = function RightAlignRenderer(tableProps, column) {
25
+ var _tableProps$column, _column$Cell;
25
26
  return /*#__PURE__*/React__default["default"].createElement("div", {
26
27
  className: cx__default["default"]("".concat(blockClass, "__right-align-cell-renderer"), {
27
- sortDisabled: !tableProps.isTableSortable || tableProps.column.disableSortBy === true
28
+ sortDisabled: !tableProps.isTableSortable || (tableProps === null || tableProps === void 0 || (_tableProps$column = tableProps.column) === null || _tableProps$column === void 0 ? void 0 : _tableProps$column.disableSortBy) === true
28
29
  })
29
- }, column.Cell(tableProps));
30
+ }, column === null || column === void 0 || (_column$Cell = column.Cell) === null || _column$Cell === void 0 ? void 0 : _column$Cell.call(column, tableProps));
30
31
  };
31
32
  var RightAlignHeader = function RightAlignHeader(headerProp, column) {
32
33
  return /*#__PURE__*/React__default["default"].createElement("div", {
33
34
  className: "".concat(blockClass, "__right-align-header")
34
- }, typeof column.Header === 'function' ? column.Header(headerProp) : column.Header);
35
+ }, typeof column.Header === 'function' ? (column === null || column === void 0 ? void 0 : column.Header.bind(column))(headerProp) : column.Header);
35
36
  };
36
37
  var rightAlignedColumns = function rightAlignedColumns(columns) {
37
38
  var columnsWithDefaultCells = columns.map(function (column) {
@@ -1,2 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2021, 2024
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Hooks } from 'react-table';
8
+ declare const useCustomizeColumns: (hooks: Hooks) => void;
1
9
  export default useCustomizeColumns;
2
- declare function useCustomizeColumns(hooks: any): void;
@@ -40,9 +40,10 @@ var useCustomizeColumns = function useCustomizeColumns(hooks) {
40
40
  isTearsheetOpen = _React$useState2[0],
41
41
  setIsTearsheetOpen = _React$useState2[1];
42
42
  hooks.useInstance.push(function (instance) {
43
- var customizeColumnsProps = instance.customizeColumnsProps;
44
- var _ref = customizeColumnsProps || {},
45
- labels = _ref.labels;
43
+ var _ref = instance,
44
+ customizeColumnsProps = _ref.customizeColumnsProps;
45
+ var _ref2 = customizeColumnsProps || {},
46
+ labels = _ref2.labels;
46
47
  Object.assign(instance, {
47
48
  customizeColumnsProps: _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, customizeColumnsProps), {}, {
48
49
  isTearsheetOpen: isTearsheetOpen,
@@ -9,6 +9,7 @@
9
9
 
10
10
  Object.defineProperty(exports, '__esModule', { value: true });
11
11
 
12
+ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
12
13
  var React = require('react');
13
14
  var settings = require('../../settings.js');
14
15
  var cx = require('classnames');
@@ -22,12 +23,13 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
22
23
  var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
23
24
  var useInlineEdit = function useInlineEdit(hooks) {
24
25
  var addInlineEdit = function addInlineEdit(props, _ref) {
25
- var _cell$column, _cell$column2;
26
+ var _cell$column, _cell$column2, _cell$value, _cell$value2, _cell$value3;
26
27
  var cell = _ref.cell,
27
28
  instance = _ref.instance;
28
29
  var columnInlineEditConfig = cell.column.inlineEdit;
29
30
  var inlineEditType = (_cell$column = cell.column) === null || _cell$column === void 0 || (_cell$column = _cell$column.inlineEdit) === null || _cell$column === void 0 ? void 0 : _cell$column.type;
30
31
  var isDisabled = (_cell$column2 = cell.column) === null || _cell$column2 === void 0 ? void 0 : _cell$column2.isDisabled;
32
+ var staticCell = _rollupPluginBabelHelpers["typeof"](cell.value) === 'object' && cell.column.id === ((_cell$value = cell.value) === null || _cell$value === void 0 ? void 0 : _cell$value.columnId) && ((_cell$value2 = cell.value) === null || _cell$value2 === void 0 ? void 0 : _cell$value2.isStaticCell);
31
33
  var renderInlineEditComponent = function renderInlineEditComponent(type) {
32
34
  return /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
33
35
  config: columnInlineEditConfig,
@@ -47,7 +49,15 @@ var useInlineEdit = function useInlineEdit(hooks) {
47
49
  return [props, {
48
50
  className: cx__default["default"]("".concat(blockClass, "__cell"), "".concat(blockClass, "__cell-inline-edit")),
49
51
  role: 'gridcell',
50
- children: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, inlineEditType === 'text' && renderInlineEditComponent(inlineEditType), inlineEditType === 'number' && renderInlineEditComponent(inlineEditType), inlineEditType === 'selection' && renderInlineEditComponent(inlineEditType), inlineEditType === 'date' && renderInlineEditComponent(inlineEditType), !inlineEditType && /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
52
+ children: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !staticCell && inlineEditType === 'text' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'number' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'selection' && renderInlineEditComponent(inlineEditType), inlineEditType === 'checkbox' && renderInlineEditComponent(inlineEditType), !staticCell && inlineEditType === 'date' && renderInlineEditComponent(inlineEditType), staticCell && /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
53
+ config: columnInlineEditConfig,
54
+ tabIndex: -1,
55
+ value: (_cell$value3 = cell.value) === null || _cell$value3 === void 0 ? void 0 : _cell$value3.value,
56
+ cell: cell,
57
+ instance: instance,
58
+ nonEditCell: true,
59
+ type: "text"
60
+ }), !inlineEditType && /*#__PURE__*/React__default["default"].createElement(InlineEditCell.InlineEditCell, {
51
61
  config: columnInlineEditConfig,
52
62
  tabIndex: -1,
53
63
  value: cell.value,
@@ -23,33 +23,52 @@ var blockClass = "".concat(settings.pkg.prefix, "--datagrid");
23
23
  var useNestedRows = function useNestedRows(hooks) {
24
24
  useNestedRowExpander["default"](hooks);
25
25
  var useInstance = function useInstance(instance) {
26
+ React.useEffect(function () {
27
+ var _ref = instance,
28
+ rows = _ref.rows;
29
+ var defaultExpandedRows = rows.filter(function (row) {
30
+ var _row$original;
31
+ return row === null || row === void 0 || (_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.defaultExpanded;
32
+ });
33
+ if (defaultExpandedRows !== null && defaultExpandedRows !== void 0 && defaultExpandedRows.length) {
34
+ defaultExpandedRows.map(function (defaultExpandedRow) {
35
+ if (!(defaultExpandedRow !== null && defaultExpandedRow !== void 0 && defaultExpandedRow.isExpanded) && !(defaultExpandedRow !== null && defaultExpandedRow !== void 0 && defaultExpandedRow.hasExpanded)) {
36
+ var _defaultExpandedRow$t;
37
+ defaultExpandedRow === null || defaultExpandedRow === void 0 || (_defaultExpandedRow$t = defaultExpandedRow.toggleRowExpanded) === null || _defaultExpandedRow$t === void 0 || _defaultExpandedRow$t.call(defaultExpandedRow);
38
+ defaultExpandedRow.hasExpanded = true;
39
+ return;
40
+ }
41
+ });
42
+ }
43
+ }, [instance, instance.rows]);
26
44
  // This useEffect will expand rows if they exist in the initialState obj
27
45
  React.useEffect(function () {
28
46
  var rows = instance.rows,
29
47
  initialState = instance.initialState;
30
- var _ref = initialState,
31
- expandedRowIds = _ref.expandedRowIds;
48
+ var _ref2 = initialState,
49
+ expandedRowIds = _ref2.expandedRowIds;
32
50
  if (expandedRowIds) {
33
51
  Object.keys(expandedRowIds).forEach(function (key) {
52
+ var _row$0$original;
34
53
  var row = rows.filter(function (r) {
35
- return r.id.toString() === key.toString();
54
+ var _r$original;
55
+ return r.id.toString() === key.toString() || ((_r$original = r.original) === null || _r$original === void 0 || (_r$original = _r$original.id) === null || _r$original === void 0 ? void 0 : _r$original.toString()) === key.toString();
36
56
  });
37
- if (row !== null && row !== void 0 && row.length && key.toString() === row[0].id.toString()) {
38
- var _row$;
39
- (_row$ = row[0]) === null || _row$ === void 0 || _row$.toggleRowExpanded();
57
+ if (row.length && key.toString() === row[0].id.toString() || row.length && key.toString() === ((_row$0$original = row[0].original) === null || _row$0$original === void 0 || (_row$0$original = _row$0$original.id) === null || _row$0$original === void 0 ? void 0 : _row$0$original.toString())) {
58
+ row[0].toggleRowExpanded();
40
59
  }
41
60
  });
42
61
  }
43
62
  }, [instance]);
44
63
  var marginLeft = 24;
45
- var getRowProps = function getRowProps(props, _ref2) {
46
- var row = _ref2.row;
64
+ var getRowProps = function getRowProps(props, _ref3) {
65
+ var row = _ref3.row;
47
66
  return [props, {
48
67
  className: cx__default["default"](_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "__carbon-nested-row"), row.depth > 0), "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded))
49
68
  }];
50
69
  };
51
- var getRowStyles = function getRowStyles(props, _ref3) {
52
- var row = _ref3.row;
70
+ var getRowStyles = function getRowStyles(props, _ref4) {
71
+ var row = _ref4.row;
53
72
  return [props, {
54
73
  style: {
55
74
  paddingLeft: "".concat(row.depth > 1 ? marginLeft * 2 + (row.depth - 1) * (marginLeft + marginLeft / 3) : row.depth === 1 ? marginLeft * 2 : 0, "px")
@@ -59,9 +78,9 @@ var useNestedRows = function useNestedRows(hooks) {
59
78
  var getIndentation = function getIndentation(depth) {
60
79
  return 32 * depth + 16;
61
80
  }; // row indentation padding
62
- var getCellProps = function getCellProps(props, _ref4) {
63
- var cell = _ref4.cell,
64
- instance = _ref4.instance;
81
+ var getCellProps = function getCellProps(props, _ref5) {
82
+ var cell = _ref5.cell,
83
+ instance = _ref5.instance;
65
84
  // we add a dynamic -ve margin right only if the cell is resized below minimum width i.e 50px, else we set the width based on indentation at different levels
66
85
  var isFirstCell = instance.columns.findIndex(function (c) {
67
86
  return c.id === cell.column.id;
@@ -95,7 +95,8 @@ exports.Decorator.propTypes = {
95
95
  */
96
96
  small: index["default"].bool,
97
97
  /**
98
- * Determines the theme of the component.
98
+ * Override the default theme of the component.
99
+ * Useful if you want "invert" the component's theme.
99
100
  */
100
101
  theme: index["default"].oneOf(['light', 'dark']),
101
102
  /**
@@ -32,8 +32,7 @@ var defaults = {
32
32
  onContextMenu: function onContextMenu() {},
33
33
  onContextMenuLabel: function onContextMenuLabel() {},
34
34
  onContextMenuValue: function onContextMenuValue() {},
35
- scoreThresholds: [0, 4, 7, 10],
36
- theme: 'light'
35
+ scoreThresholds: [0, 4, 7, 10]
37
36
  };
38
37
 
39
38
  /**
@@ -65,8 +64,7 @@ var DecoratorBase = /*#__PURE__*/React__default["default"].forwardRef(function (
65
64
  _ref$scoreThresholds = _ref.scoreThresholds,
66
65
  scoreThresholds = _ref$scoreThresholds === void 0 ? defaults.scoreThresholds : _ref$scoreThresholds,
67
66
  small = _ref.small,
68
- _ref$theme = _ref.theme,
69
- theme = _ref$theme === void 0 ? defaults.theme : _ref$theme,
67
+ theme = _ref.theme,
70
68
  truncateValue = _ref.truncateValue,
71
69
  value = _ref.value,
72
70
  valueTitle = _ref.valueTitle,
@@ -76,7 +74,7 @@ var DecoratorBase = /*#__PURE__*/React__default["default"].forwardRef(function (
76
74
  var _value = utils.truncate(value, truncateValue);
77
75
 
78
76
  // These class names apply to all types of DecoratorBase.
79
- var classNames = cx__default["default"](blockClass, className, "".concat(blockClass, "--").concat(theme), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--sm"), small), "".concat(blockClass, "--truncate-end"), truncateValue === 'end'), "".concat(blockClass, "--truncate-start"), truncateValue === 'start'), "".concat(blockClass, "--truncate-midline"), truncateValue === null || truncateValue === void 0 ? void 0 : truncateValue.maxLength));
77
+ var classNames = cx__default["default"](blockClass, className, _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--").concat(theme), theme), "".concat(blockClass, "--sm"), small), "".concat(blockClass, "--truncate-end"), truncateValue === 'end'), "".concat(blockClass, "--truncate-start"), truncateValue === 'start'), "".concat(blockClass, "--truncate-midline"), truncateValue === null || truncateValue === void 0 ? void 0 : truncateValue.maxLength));
80
78
 
81
79
  // These properties apply to all <DecoratorIcons>.
82
80
  var decoratorIconsProps = {
@@ -119,7 +119,8 @@ exports.DecoratorDualButton.propTypes = {
119
119
  */
120
120
  small: index["default"].bool,
121
121
  /**
122
- * Determines the theme of the component.
122
+ * Override the default theme of the component.
123
+ * Useful if you want "invert" the component's theme.
123
124
  */
124
125
  theme: index["default"].oneOf(['light', 'dark']),
125
126
  /**
@@ -109,7 +109,8 @@ exports.DecoratorLink.propTypes = {
109
109
  */
110
110
  small: index["default"].bool,
111
111
  /**
112
- * Determines the theme of the component.
112
+ * Override the default theme of the component.
113
+ * Useful if you want "invert" the component's theme.
113
114
  */
114
115
  theme: index["default"].oneOf(['light', 'dark']),
115
116
  /**
@@ -109,7 +109,8 @@ exports.DecoratorSingleButton.propTypes = {
109
109
  */
110
110
  small: index["default"].bool,
111
111
  /**
112
- * Determines the theme of the component.
112
+ * Override the default theme of the component.
113
+ * Useful if you want "invert" the component's theme.
113
114
  */
114
115
  theme: index["default"].oneOf(['light', 'dark']),
115
116
  /**
@@ -5,7 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { ReactNode, PropsWithChildren } from 'react';
8
- export declare const FormContext: React.Context<null>;
8
+ export type FormContextType = {
9
+ currentForm: number;
10
+ setFormTitle: () => void;
11
+ };
12
+ export declare const FormContext: React.Context<FormContextType | null>;
9
13
  export declare const FormNumberContext: React.Context<number>;
10
14
  interface EditTearsheetProps extends PropsWithChildren {
11
15
  /**
@@ -27,7 +27,6 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
27
27
  var _excluded = ["cancelButtonText", "children", "className", "description", "influencerWidth", "label", "onClose", "open", "submitButtonText", "title", "verticalPosition", "onRequestSubmit", "onFormChange", "sideNavAriaLabel"];
28
28
  var componentName = 'EditTearsheet';
29
29
  var blockClass = "".concat(settings.pkg.prefix, "--tearsheet-edit");
30
-
31
30
  // This is a general context for the forms container
32
31
  // containing information about the state of the container
33
32
  // and providing some callback methods for forms to use