@carbon/ibm-products 1.25.1 → 1.31.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. package/css/index-full-carbon.css +562 -88
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +3 -3
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +942 -23
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +3 -3
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +561 -87
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +562 -88
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +3 -3
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/AddSelect/AddSelect.js +0 -3
  18. package/es/components/AddSelect/AddSelectBody.js +20 -3
  19. package/es/components/AddSelect/AddSelectBreadcrumbs.js +11 -3
  20. package/es/components/AddSelect/AddSelectColumn.js +4 -3
  21. package/es/components/AddSelect/AddSelectFilter.js +4 -3
  22. package/es/components/AddSelect/AddSelectList.js +40 -14
  23. package/es/components/Card/Card.js +16 -6
  24. package/es/components/Card/CardFooter.js +3 -1
  25. package/es/components/Card/CardHeader.js +20 -1
  26. package/es/components/DataSpreadsheet/DataSpreadsheet.js +62 -11
  27. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  28. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +31 -0
  29. package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  30. package/es/components/Datagrid/Datagrid/Datagrid.js +10 -38
  31. package/es/components/Datagrid/Datagrid/DatagridContent.js +106 -0
  32. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +10 -3
  33. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +139 -11
  34. package/es/components/Datagrid/Datagrid/DraggableElement.js +5 -1
  35. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +5 -40
  36. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +35 -10
  37. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +61 -24
  38. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
  39. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +63 -0
  40. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
  41. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +459 -0
  42. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
  43. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
  44. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
  45. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
  46. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +31 -0
  47. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
  48. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +197 -0
  49. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +6 -5
  50. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +1 -2
  51. package/es/components/Datagrid/index.js +3 -1
  52. package/es/components/Datagrid/useActionsColumn.js +31 -6
  53. package/es/components/Datagrid/useColumnOrder.js +8 -0
  54. package/es/components/Datagrid/useCustomizeColumns.js +5 -0
  55. package/es/components/Datagrid/useDefaultStringRenderer.js +4 -1
  56. package/es/components/Datagrid/useDisableSelectRows.js +6 -2
  57. package/es/components/Datagrid/useInlineEdit.js +71 -0
  58. package/es/components/Datagrid/useRowSize.js +17 -6
  59. package/es/components/Datagrid/useSelectRows.js +14 -4
  60. package/es/components/Datagrid/useStickyColumn.js +14 -0
  61. package/es/components/Datagrid/utils/getInlineEditColumns.js +121 -0
  62. package/es/components/Datagrid/utils/makeData.js +18 -2
  63. package/es/components/ImportModal/ImportModal.js +2 -2
  64. package/es/components/InlineEdit/InlineEdit.js +4 -2
  65. package/es/components/ProductiveCard/ProductiveCard.js +5 -0
  66. package/es/components/WebTerminal/WebTerminal.js +1 -1
  67. package/es/components/WebTerminal/WebTerminalContentWrapper.js +1 -1
  68. package/es/components/WebTerminal/hooks/index.js +6 -0
  69. package/es/components/WebTerminal/index.js +6 -0
  70. package/es/components/WebTerminal/preview-components/Navigation.js +6 -0
  71. package/es/components/WebTerminal/preview-components/documentationLinks.js +6 -0
  72. package/es/components/WebTerminal/preview-components/index.js +7 -0
  73. package/es/components/index.js +1 -1
  74. package/es/global/js/hooks/useClickOutside.js +1 -1
  75. package/es/global/js/package-settings.js +3 -3
  76. package/es/global/js/utils/rangeWithCallback.js +13 -0
  77. package/es/global/js/utils/uuidv4.spec.js +4 -0
  78. package/lib/components/AddSelect/AddSelect.js +0 -4
  79. package/lib/components/AddSelect/AddSelectBody.js +20 -3
  80. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +14 -3
  81. package/lib/components/AddSelect/AddSelectColumn.js +3 -2
  82. package/lib/components/AddSelect/AddSelectFilter.js +3 -2
  83. package/lib/components/AddSelect/AddSelectList.js +39 -13
  84. package/lib/components/Card/Card.js +16 -6
  85. package/lib/components/Card/CardFooter.js +3 -1
  86. package/lib/components/Card/CardHeader.js +21 -1
  87. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +62 -10
  88. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  89. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +42 -0
  90. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  91. package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -45
  92. package/lib/components/Datagrid/Datagrid/DatagridContent.js +138 -0
  93. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -3
  94. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +148 -9
  95. package/lib/components/Datagrid/Datagrid/DraggableElement.js +5 -1
  96. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +12 -41
  97. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +47 -25
  98. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +59 -23
  99. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
  100. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +79 -0
  101. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
  102. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +483 -0
  103. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
  104. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
  105. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
  106. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
  107. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +42 -0
  108. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
  109. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +204 -0
  110. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +6 -5
  111. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +1 -2
  112. package/lib/components/Datagrid/index.js +17 -1
  113. package/lib/components/Datagrid/useActionsColumn.js +31 -6
  114. package/lib/components/Datagrid/useColumnOrder.js +17 -0
  115. package/lib/components/Datagrid/useCustomizeColumns.js +5 -0
  116. package/lib/components/Datagrid/useDefaultStringRenderer.js +5 -1
  117. package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
  118. package/lib/components/Datagrid/useInlineEdit.js +85 -0
  119. package/lib/components/Datagrid/useRowSize.js +18 -13
  120. package/lib/components/Datagrid/useSelectRows.js +13 -3
  121. package/lib/components/Datagrid/useStickyColumn.js +14 -0
  122. package/lib/components/Datagrid/utils/getInlineEditColumns.js +133 -0
  123. package/lib/components/Datagrid/utils/makeData.js +18 -2
  124. package/lib/components/ImportModal/ImportModal.js +2 -2
  125. package/lib/components/InlineEdit/InlineEdit.js +4 -2
  126. package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
  127. package/lib/components/WebTerminal/hooks/index.js +6 -0
  128. package/lib/components/WebTerminal/preview-components/Navigation.js +6 -0
  129. package/lib/components/WebTerminal/preview-components/documentationLinks.js +6 -0
  130. package/lib/components/index.js +12 -0
  131. package/lib/global/js/hooks/useClickOutside.js +1 -1
  132. package/lib/global/js/package-settings.js +3 -3
  133. package/lib/global/js/utils/rangeWithCallback.js +22 -0
  134. package/lib/global/js/utils/uuidv4.spec.js +4 -0
  135. package/package.json +13 -13
  136. package/scss/components/AddSelect/_add-select.scss +126 -28
  137. package/scss/components/Card/_card.scss +1 -0
  138. package/scss/components/Cascade/_cascade.scss +1 -1
  139. package/scss/components/CreateTearsheet/_create-tearsheet.scss +1 -0
  140. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +18 -1
  141. package/scss/components/Datagrid/_datagrid.scss +5 -0
  142. package/scss/components/Datagrid/_storybook-styles.scss +1 -1
  143. package/scss/components/Datagrid/styles/_datagrid.scss +81 -12
  144. package/scss/components/Datagrid/styles/_draggableElement.scss +26 -9
  145. package/scss/components/Datagrid/styles/_index.scss +1 -0
  146. package/scss/components/Datagrid/styles/_useInlineEdit.scss +211 -0
  147. package/scss/components/Datagrid/styles/_useStickyColumn.scss +24 -2
  148. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +44 -6
  149. package/scss/components/InlineEdit/_inline-edit.scss +1 -1
  150. package/scss/components/NotificationsPanel/_notifications-panel.scss +5 -6
  151. package/scss/components/ProductiveCard/_productive-card.scss +39 -0
  152. package/scss/components/RemoveModal/_remove-modal.scss +0 -4
  153. package/scss/components/SidePanel/_side-panel.scss +4 -6
  154. package/scss/components/WebTerminal/_index.scss +7 -0
  155. package/scss/components/WebTerminal/_storybook-styles.scss +7 -0
  156. package/scss/components/WebTerminal/_web-terminal.scss +13 -0
  157. package/scss/components/_index-released-only.scss +1 -0
@@ -7,19 +7,18 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
13
 
12
14
  var _react = require("react");
13
15
 
14
16
  var _RowSize = require("./Datagrid/addons/RowSize");
15
17
 
16
- /*
17
- * Licensed Materials - Property of IBM
18
- * 5724-Q36
19
- * (c) Copyright IBM Corp. 2020, 2021
20
- * US Government Users Restricted Rights - Use, duplication or disclosure
21
- * restricted by GSA ADP Schedule Contract with IBM Corp.
22
- */
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+
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
+
23
22
  var useRowSize = function useRowSize(hooks) {
24
23
  var _useState = (0, _react.useState)(''),
25
24
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -27,13 +26,19 @@ var useRowSize = function useRowSize(hooks) {
27
26
  setRowSize = _useState2[1];
28
27
 
29
28
  hooks.useInstance.push(function (instance) {
30
- var rowSizes = instance.rowSizes,
29
+ var rowSizeProps = instance.rowSizeProps,
30
+ rowSizes = instance.rowSizes,
31
31
  rowSize = instance.rowSize,
32
32
  onRowSizeChange = instance.onRowSizeChange;
33
+
34
+ var _ref = rowSizeProps || {},
35
+ labels = _ref.labels;
36
+
33
37
  Object.assign(instance, {
34
38
  rowSize: internalRowSize || rowSize,
35
- rowSizeDropdownProps: {
36
- rowSizes: rowSizes,
39
+ rowSizeDropdownProps: _objectSpread(_objectSpread({
40
+ rowSizes: rowSizes
41
+ }, labels), {}, {
37
42
  selectedOption: internalRowSize || rowSize,
38
43
  onChange: function onChange(value) {
39
44
  setRowSize(value);
@@ -42,13 +47,13 @@ var useRowSize = function useRowSize(hooks) {
42
47
  onRowSizeChange(value);
43
48
  }
44
49
  }
45
- },
50
+ }),
46
51
  RowSizeDropdown: _RowSize.RowSizeDropdown
47
52
  });
48
53
  });
49
54
 
50
- var getTableProps = function getTableProps(props, _ref) {
51
- var instance = _ref.instance;
55
+ var getTableProps = function getTableProps(props, _ref2) {
56
+ var instance = _ref2.instance;
52
57
  var rowSize = instance.rowSize;
53
58
 
54
59
  if (!rowSize) {
@@ -51,6 +51,11 @@ var useSelectRows = function useSelectRows(hooks) {
51
51
  };
52
52
 
53
53
  hooks.useInstance.push(useInstance);
54
+ hooks.useInstance.push(function (instance) {
55
+ Object.assign(instance, {
56
+ withSelectRows: true
57
+ });
58
+ });
54
59
  hooks.visibleColumns.push(function (columns) {
55
60
  return [{
56
61
  id: _commonColumnIds.selectionColumnId,
@@ -68,7 +73,7 @@ var useHighlightSelection = function useHighlightSelection(hooks) {
68
73
  var getRowProps = function getRowProps(props, _ref) {
69
74
  var row = _ref.row;
70
75
  return [props, {
71
- className: (0, _classnames.default)("".concat(blockClass, "__carbon-row"), row.getToggleRowSelectedProps().checked ? 'bx--data-table--selected' : '')
76
+ className: (0, _classnames.default)("".concat(blockClass, "__carbon-row"), row.getToggleRowSelectedProps().checked ? "".concat(_settings.carbon.prefix, "--data-table--selected ").concat(blockClass, "__active-row") : '')
72
77
  }];
73
78
  };
74
79
 
@@ -76,6 +81,8 @@ var useHighlightSelection = function useHighlightSelection(hooks) {
76
81
  };
77
82
 
78
83
  var SelectRow = function SelectRow(datagridState) {
84
+ var _columns$;
85
+
79
86
  var _datagridState$isFetc = datagridState.isFetching,
80
87
  isFetching = _datagridState$isFetc === void 0 ? false : _datagridState$isFetc,
81
88
  tableId = datagridState.tableId,
@@ -83,7 +90,9 @@ var SelectRow = function SelectRow(datagridState) {
83
90
  cell = datagridState.cell,
84
91
  radio = datagridState.radio,
85
92
  toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
86
- onRadioSelect = datagridState.onRadioSelect;
93
+ onRadioSelect = datagridState.onRadioSelect,
94
+ columns = datagridState.columns,
95
+ withStickyColumn = datagridState.withStickyColumn;
87
96
  var selectDisabled = isFetching || row.getRowProps().selectDisabled;
88
97
 
89
98
  var _row$getToggleRowSele = row.getToggleRowSelectedProps(),
@@ -91,6 +100,7 @@ var SelectRow = function SelectRow(datagridState) {
91
100
  selectProps = (0, _objectWithoutProperties2.default)(_row$getToggleRowSele, _excluded);
92
101
 
93
102
  var cellProps = cell.getCellProps();
103
+ var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
94
104
  return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TableSelectRow, (0, _extends2.default)({}, cellProps, selectProps, {
95
105
  radio: radio,
96
106
  onSelect: function onSelect(e) {
@@ -108,7 +118,7 @@ var SelectRow = function SelectRow(datagridState) {
108
118
  },
109
119
  id: "".concat(tableId, "-").concat(row.index),
110
120
  name: "".concat(tableId, "-").concat(row.index, "-name"),
111
- className: (0, _classnames.default)("".concat(blockClass, "__checkbox-cell"), cellProps.className),
121
+ className: (0, _classnames.default)("".concat(blockClass, "__checkbox-cell"), cellProps.className, (0, _defineProperty2.default)({}, "".concat(blockClass, "__checkbox-cell-sticky-left"), isFirstColumnStickyLeft)),
112
122
  ariaLabel: "".concat(tableId, "-row-").concat(row.index) // TODO: aria label should be i18n'ed
113
123
  ,
114
124
  disabled: selectDisabled
@@ -23,6 +23,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
23
23
 
24
24
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
25
25
  var styleClassPrefix = "".concat(blockClass, "__right-sticky-column");
26
+ var leftStickyStyleClassPrefix = "".concat(blockClass, "__left-sticky-column");
26
27
  var OFFSET_SCROLL_CLASS = "".concat(styleClassPrefix, "-offset-scroll");
27
28
 
28
29
  var useStickyColumn = function useStickyColumn(hooks) {
@@ -123,6 +124,9 @@ var useStickyColumn = function useStickyColumn(hooks) {
123
124
  if (spacerIdx >= 0 && stickyIdx >= 0 && stickyIdx < spacerIdx) {
124
125
  var _temp = newHeaders[spacerIdx];
125
126
  newHeaders[spacerIdx] = newHeaders[stickyIdx];
127
+ newHeaders[spacerIdx].canResize = false;
128
+ newHeaders[spacerIdx].disableResizing = true;
129
+ delete newHeaders[spacerIdx].getResizerProps;
126
130
  newHeaders[stickyIdx] = _temp;
127
131
  }
128
132
  });
@@ -147,6 +151,16 @@ var changeProps = function changeProps(elementName, headerCellRef, props, data)
147
151
  })];
148
152
  }
149
153
 
154
+ if (column.sticky === 'left') {
155
+ var _data$instance, _cx2;
156
+
157
+ return [props, _objectSpread({
158
+ className: (0, _classnames.default)((_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(leftStickyStyleClassPrefix, "-").concat(elementName), true), (0, _defineProperty2.default)(_cx2, "".concat(leftStickyStyleClassPrefix, "-").concat(elementName, "--with-extra-select-column"), data === null || data === void 0 ? void 0 : (_data$instance = data.instance) === null || _data$instance === void 0 ? void 0 : _data$instance.withSelectRows), _cx2))
159
+ }, headerCellRef && {
160
+ ref: headerCellRef
161
+ })];
162
+ }
163
+
150
164
  return [props];
151
165
  };
152
166
 
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.inlineEditSelectItems = exports.getInlineEditColumns = void 0;
7
+
8
+ var _iconsReact = require("@carbon/icons-react");
9
+
10
+ /**
11
+ * Copyright IBM Corp. 2022, 2022
12
+ *
13
+ * This source code is licensed under the Apache-2.0 license found in the
14
+ * LICENSE file in the root directory of this source tree.
15
+ */
16
+ var inlineEditSelectItems = [{
17
+ id: 'option-0',
18
+ icon: _iconsReact.ChartColumnFloating16,
19
+ text: 'Column Chart'
20
+ }, {
21
+ id: 'option-1',
22
+ icon: _iconsReact.ChartBubble16,
23
+ text: 'Bubble Chart'
24
+ }, {
25
+ id: 'option-2',
26
+ icon: _iconsReact.ChartVennDiagram16,
27
+ text: 'Venn Diagram'
28
+ }];
29
+ exports.inlineEditSelectItems = inlineEditSelectItems;
30
+
31
+ var getInlineEditColumns = function getInlineEditColumns() {
32
+ return [{
33
+ Header: 'Row Index',
34
+ accessor: function accessor(row, i) {
35
+ return i;
36
+ },
37
+ id: 'rowIndex' // id is required when accessor is a function.
38
+
39
+ }, {
40
+ Header: 'First Name',
41
+ accessor: 'firstName',
42
+ inlineEdit: {
43
+ type: 'text',
44
+ inputProps: {} // These props are passed to the Carbon component used for inline editing
45
+
46
+ }
47
+ }, {
48
+ Header: 'Last Name',
49
+ accessor: 'lastName',
50
+ inlineEdit: {
51
+ type: 'text',
52
+ inputProps: {} // These props are passed to the Carbon component used for inline editing
53
+
54
+ }
55
+ }, {
56
+ Header: 'Age',
57
+ accessor: 'age',
58
+ width: 120,
59
+ inlineEdit: {
60
+ type: 'number',
61
+ inputProps: {} // These props are passed to the Carbon component used for inline editing
62
+
63
+ }
64
+ }, {
65
+ Header: 'Visits',
66
+ accessor: 'visits',
67
+ width: 120,
68
+ inlineEdit: {
69
+ type: 'number',
70
+ inputProps: {} // These props are passed to the Carbon component used for inline editing
71
+
72
+ }
73
+ }, {
74
+ Header: 'Active since',
75
+ accessor: 'activeSince',
76
+ inlineEdit: {
77
+ type: 'date',
78
+ inputProps: {
79
+ // optionally pass props here to be passed through to Carbon's DatePicker component
80
+ onChange: function onChange(newDateObj, cell) {
81
+ console.log(newDateObj, cell);
82
+ },
83
+ labelText: 'Change active since date',
84
+ // optionally pass props here to be passed through to Carbon's DatePickerInput component
85
+ datePickerInputProps: {
86
+ labelText: 'Change active since date'
87
+ }
88
+ }
89
+ }
90
+ }, {
91
+ Header: 'Chart type',
92
+ accessor: 'chartType',
93
+ inlineEdit: {
94
+ type: 'selection',
95
+ inputProps: {
96
+ // These props are passed to the Carbon component used for inline editing
97
+ items: inlineEditSelectItems,
98
+ onChange: function onChange(item) {
99
+ return console.log(item);
100
+ }
101
+ }
102
+ }
103
+ }, {
104
+ Header: 'Someone 2',
105
+ accessor: 'someone2'
106
+ }, {
107
+ Header: 'Someone 3',
108
+ accessor: 'someone3'
109
+ }, {
110
+ Header: 'Someone 4',
111
+ accessor: 'someone4'
112
+ }, {
113
+ Header: 'Someone 5',
114
+ accessor: 'someone5'
115
+ }, {
116
+ Header: 'Someone 6',
117
+ accessor: 'someone6'
118
+ }, {
119
+ Header: 'Someone 7',
120
+ accessor: 'someone7'
121
+ }, {
122
+ Header: 'Someone 8',
123
+ accessor: 'someone8'
124
+ }, {
125
+ Header: 'Someone 9',
126
+ accessor: 'someone9'
127
+ }, {
128
+ Header: 'Someone 10',
129
+ accessor: 'someone10'
130
+ }];
131
+ };
132
+
133
+ exports.getInlineEditColumns = getInlineEditColumns;
@@ -13,10 +13,18 @@ var _react = _interopRequireDefault(require("react"));
13
13
 
14
14
  var _namor = _interopRequireDefault(require("namor"));
15
15
 
16
+ var _getInlineEditColumns = require("./getInlineEditColumns");
17
+
16
18
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
19
 
18
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; }
19
21
 
22
+ var getRandomInteger = function getRandomInteger(min, max) {
23
+ min = Math.ceil(min);
24
+ max = Math.floor(max);
25
+ return Math.floor(Math.random() * (max - min + 1)) + min;
26
+ };
27
+
20
28
  var makeData = function makeData() {
21
29
  for (var _len = arguments.length, lens = new Array(_len), _key = 0; _key < _len; _key++) {
22
30
  lens[_key] = arguments[_key];
@@ -51,6 +59,12 @@ exports.range = range;
51
59
 
52
60
  var newPerson = function newPerson() {
53
61
  var statusChance = Math.random();
62
+ var initialChartTypeIndex = getRandomInteger(0, 2);
63
+ var activeSinceDate = new Date();
64
+ var yesterdayDate = new Date();
65
+ yesterdayDate.setDate(yesterdayDate.getDate() - 1);
66
+ var twoDaysAgoDate = new Date();
67
+ twoDaysAgoDate.setDate(twoDaysAgoDate.getDate() - 2);
54
68
  return {
55
69
  firstName: _namor.default.generate({
56
70
  words: 1,
@@ -104,7 +118,7 @@ var newPerson = function newPerson() {
104
118
  numbers: 0
105
119
  }),
106
120
  someone11: _namor.default.generate({
107
- words: 1,
121
+ words: 4,
108
122
  numbers: 0
109
123
  }),
110
124
  someone12: _namor.default.generate({
@@ -143,7 +157,9 @@ var newPerson = function newPerson() {
143
157
  words: 1,
144
158
  numbers: 0
145
159
  }),
146
- status: statusChance > 0.66 ? 'relationship' : statusChance > 0.33 ? 'complicated' : 'single'
160
+ status: statusChance > 0.66 ? 'relationship' : statusChance > 0.33 ? 'complicated' : 'single',
161
+ chartType: initialChartTypeIndex === 0 ? _getInlineEditColumns.inlineEditSelectItems[0] : initialChartTypeIndex === 1 ? _getInlineEditColumns.inlineEditSelectItems[1] : _getInlineEditColumns.inlineEditSelectItems[2],
162
+ activeSince: statusChance > 0.66 ? activeSinceDate : statusChance > 0.33 ? yesterdayDate : twoDaysAgoDate
147
163
  };
148
164
  };
149
165
 
@@ -99,9 +99,9 @@ var ImportModal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
99
99
  var acceptSet = new Set(accept);
100
100
  var name = file.name;
101
101
  var mimeType = file.type;
102
- var extension = name.split('.').pop();
102
+ var extension = ".".concat(name.split('.').pop());
103
103
 
104
- if (acceptSet.has(mimeType) || acceptSet.has(extension)) {
104
+ if (acceptSet.has(mimeType) || acceptSet.has(extension) || accept.length === 0) {
105
105
  return false;
106
106
  }
107
107
 
@@ -80,7 +80,9 @@ var InlineEdit = /*#__PURE__*/_react.default.forwardRef(function (_ref, refIn) {
80
80
  size = _ref$size === void 0 ? defaults.size : _ref$size,
81
81
  value = _ref.value,
82
82
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
83
- var refInput = (0, _react.useRef)(null);
83
+ var refInput = (0, _react.useRef)({
84
+ innerText: value
85
+ });
84
86
  var localRef = (0, _react.useRef)(null);
85
87
  var ref = refIn || localRef;
86
88
 
@@ -283,7 +285,7 @@ var InlineEdit = /*#__PURE__*/_react.default.forwardRef(function (_ref, refIn) {
283
285
  onPaste: handlePaste,
284
286
  suppressContentEditableWarning: true,
285
287
  ref: refInput,
286
- "data-placeholder": placeholder !== null && placeholder !== void 0 ? placeholder : labelText
288
+ "data-placeholder": placeholder
287
289
  }), value), /*#__PURE__*/_react.default.createElement("div", {
288
290
  className: (0, _classnames.default)("".concat(blockClass, "__after-input-elements")) // tabindex -1 fixes blur target test when clicking on after-input-elements background
289
291
  ,
@@ -130,6 +130,11 @@ ProductiveCard.propTypes = {
130
130
  */
131
131
  primaryButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
132
132
 
133
+ /**
134
+ * Determines if the primary button is on the top or bottom of the card
135
+ */
136
+ primaryButtonPlacement: _propTypes.default.oneOf(['top', 'bottom']),
137
+
133
138
  /**
134
139
  * The text that's displayed in the primary button
135
140
  */
@@ -21,6 +21,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
21
21
 
22
22
  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; }
23
23
 
24
+ //
25
+ // Copyright IBM Corp. 2022, 2022
26
+ //
27
+ // This source code is licensed under the Apache-2.0 license found in the
28
+ // LICENSE file in the root directory of this source tree.
29
+ //
24
30
  var WebTerminalContext = /*#__PURE__*/(0, _react.createContext)();
25
31
  exports.WebTerminalContext = WebTerminalContext;
26
32
  var componentName = 'WebTerminalProvider';
@@ -15,6 +15,12 @@ var _iconsReact = require("@carbon/icons-react");
15
15
 
16
16
  var _hooks = require("../hooks");
17
17
 
18
+ //
19
+ // Copyright IBM Corp. 2020, 2022
20
+ //
21
+ // This source code is licensed under the Apache-2.0 license found in the
22
+ // LICENSE file in the root directory of this source tree.
23
+ //
18
24
  var Navigation = function Navigation() {
19
25
  var _useWebTerminal = (0, _hooks.useWebTerminal)(),
20
26
  openWebTerminal = _useWebTerminal.openWebTerminal;
@@ -4,6 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.documentationLinks = void 0;
7
+ //
8
+ // Copyright IBM Corp. 2020, 2021
9
+ //
10
+ // This source code is licensed under the Apache-2.0 license found in the
11
+ // LICENSE file in the root directory of this source tree.
12
+ //
7
13
  var documentationLinks = [{
8
14
  itemText: 'BX/ICP docs',
9
15
  href: '#',
@@ -333,6 +333,12 @@ Object.defineProperty(exports, "useActionsColumn", {
333
333
  return _Datagrid.useActionsColumn;
334
334
  }
335
335
  });
336
+ Object.defineProperty(exports, "useColumnOrder", {
337
+ enumerable: true,
338
+ get: function get() {
339
+ return _Datagrid.useColumnOrder;
340
+ }
341
+ });
336
342
  Object.defineProperty(exports, "useColumnRightAlign", {
337
343
  enumerable: true,
338
344
  get: function get() {
@@ -369,6 +375,12 @@ Object.defineProperty(exports, "useInfiniteScroll", {
369
375
  return _Datagrid.useInfiniteScroll;
370
376
  }
371
377
  });
378
+ Object.defineProperty(exports, "useInlineEdit", {
379
+ enumerable: true,
380
+ get: function get() {
381
+ return _Datagrid.useInlineEdit;
382
+ }
383
+ });
372
384
  Object.defineProperty(exports, "useNestedRows", {
373
385
  enumerable: true,
374
386
  get: function get() {
@@ -16,7 +16,7 @@ var _react = require("react");
16
16
  var useClickOutside = function useClickOutside(ref, callback) {
17
17
  var handleClick = function handleClick(event) {
18
18
  if (ref.current && !ref.current.contains(event.target)) {
19
- callback();
19
+ callback(event.target);
20
20
  }
21
21
  };
22
22
 
@@ -57,6 +57,9 @@ var defaults = {
57
57
  TearsheetNarrow: true,
58
58
  UnauthorizedEmptyState: true,
59
59
  UserProfileImage: true,
60
+ WebTerminal: true,
61
+ WebTerminalContentWrapper: true,
62
+ WebTerminalProvider: true,
60
63
  // other public components not yet reviewed and released:
61
64
  MultiAddSelect: false,
62
65
  SingleAddSelect: false,
@@ -64,9 +67,6 @@ var defaults = {
64
67
  Toolbar: false,
65
68
  ToolbarButton: false,
66
69
  ToolbarGroup: false,
67
- WebTerminal: false,
68
- WebTerminalContentWrapper: false,
69
- WebTerminalProvider: false,
70
70
  EditSidePanel: false,
71
71
  CancelableTextEdit: false,
72
72
  DataSpreadsheet: false,
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.rangeWithCallback = void 0;
7
+
8
+ /**
9
+ * Copyright IBM Corp. 2022, 2022
10
+ *
11
+ * This source code is licensed under the Apache-2.0 license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ */
14
+ // Iterates through a numeric range and calls callback
15
+ // function for each iteration
16
+ var rangeWithCallback = function rangeWithCallback(start, end, fn) {
17
+ for (var i = start; i <= end; i++) {
18
+ fn(i);
19
+ }
20
+ };
21
+
22
+ exports.rangeWithCallback = rangeWithCallback;
@@ -9,11 +9,15 @@ describe('uuidv4', function () {
9
9
  jest.resetAllMocks();
10
10
  });
11
11
  it('Uses Math.random when window is not defined', function () {
12
+ var _window = window,
13
+ crypto = _window.crypto;
14
+ delete window.crypto;
12
15
  var mockMath = Object.create(global.Math);
13
16
  var mockMathRandom = jest.fn().mockReturnValue(0.5);
14
17
  mockMath.random = mockMathRandom;
15
18
  global.Math = mockMath;
16
19
  expect((0, _uuidv.default)()).toEqual('98888888-9888-4888-a888-988888888888');
20
+ window.crypto = crypto;
17
21
  });
18
22
  it('Uses crypto from window when window is defined', function () {
19
23
  var mGetRandomValues = jest.fn().mockReturnValue(new Uint32Array(10));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "1.25.1",
4
+ "version": "1.31.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -51,22 +51,22 @@
51
51
  },
52
52
  "devDependencies": {
53
53
  "@babel/cli": "^7.18.10",
54
- "@babel/core": "^7.18.10",
55
- "babel-preset-ibm-cloud-cognitive": "^0.14.18",
54
+ "@babel/core": "^7.18.13",
55
+ "babel-preset-ibm-cloud-cognitive": "^0.14.19",
56
56
  "chalk": "^4.1.2",
57
57
  "change-case": "^4.1.2",
58
58
  "copyfiles": "^2.4.1",
59
59
  "cross-env": "^7.0.3",
60
60
  "fs-extra": "^10.1.0",
61
61
  "glob": "^8.0.3",
62
- "jest": "^28.1.3",
63
- "jest-config-ibm-cloud-cognitive": "^0.24.3",
64
- "jest-environment-jsdom": "^28.1.3",
62
+ "jest": "^29.0.1",
63
+ "jest-config-ibm-cloud-cognitive": "^0.24.5",
64
+ "jest-environment-jsdom": "^29.0.1",
65
65
  "namor": "^1.1.2",
66
- "npm-check-updates": "^16.0.5",
66
+ "npm-check-updates": "^16.0.6",
67
67
  "npm-run-all": "^4.1.5",
68
68
  "rimraf": "^3.0.2",
69
- "sass": "^1.54.0",
69
+ "sass": "^1.54.8",
70
70
  "yargs": "^17.5.1"
71
71
  },
72
72
  "dependencies": {
@@ -85,13 +85,13 @@
85
85
  "@carbon/import-once": "^10.7.0",
86
86
  "@carbon/layout": "^10.37.1",
87
87
  "@carbon/motion": "^10.29.0",
88
- "@carbon/themes": "^10.54.0",
89
- "@carbon/type": "^10.44.0",
90
- "carbon-components": "^10.57.2",
91
- "carbon-components-react": "^7.57.4",
88
+ "@carbon/themes": "^10.55.0",
89
+ "@carbon/type": "^10.45.0",
90
+ "carbon-components": "^10.58.0",
91
+ "carbon-components-react": "^7.59.0",
92
92
  "carbon-icons": "^7.0.7",
93
93
  "react": "^16.8.6 || ^17.0.1",
94
94
  "react-dom": "^16.8.6 || ^17.0.1"
95
95
  },
96
- "gitHead": "72a6dbc4c1456c4c8dd8778cedbb532ecf0df711"
96
+ "gitHead": "4694f431eeac26bb0787857b39aaa347edddc212"
97
97
  }