@carbon/ibm-products 1.27.0 → 1.31.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. package/css/index-full-carbon.css +513 -75
  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 +512 -74
  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 +513 -75
  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/DraggableElement.js +5 -1
  34. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +5 -40
  35. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +35 -10
  36. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +61 -24
  37. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
  38. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +63 -0
  39. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +1 -0
  40. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +459 -0
  41. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +1 -0
  42. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +112 -0
  43. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +27 -0
  44. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +1 -0
  45. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +31 -0
  46. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +19 -0
  47. package/es/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +197 -0
  48. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +6 -5
  49. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +1 -2
  50. package/es/components/Datagrid/index.js +3 -1
  51. package/es/components/Datagrid/useColumnOrder.js +8 -0
  52. package/es/components/Datagrid/useCustomizeColumns.js +5 -0
  53. package/es/components/Datagrid/useDisableSelectRows.js +6 -2
  54. package/es/components/Datagrid/useInlineEdit.js +71 -0
  55. package/es/components/Datagrid/useRowSize.js +17 -6
  56. package/es/components/Datagrid/useSelectRows.js +12 -2
  57. package/es/components/Datagrid/useStickyColumn.js +11 -0
  58. package/es/components/Datagrid/utils/getInlineEditColumns.js +121 -0
  59. package/es/components/Datagrid/utils/makeData.js +17 -1
  60. package/es/components/ImportModal/ImportModal.js +2 -2
  61. package/es/components/InlineEdit/InlineEdit.js +4 -2
  62. package/es/components/ProductiveCard/ProductiveCard.js +5 -0
  63. package/es/components/index.js +1 -1
  64. package/es/global/js/hooks/useClickOutside.js +1 -1
  65. package/es/global/js/package-settings.js +3 -3
  66. package/es/global/js/utils/rangeWithCallback.js +13 -0
  67. package/es/global/js/utils/uuidv4.spec.js +4 -0
  68. package/lib/components/AddSelect/AddSelect.js +0 -4
  69. package/lib/components/AddSelect/AddSelectBody.js +20 -3
  70. package/lib/components/AddSelect/AddSelectBreadcrumbs.js +14 -3
  71. package/lib/components/AddSelect/AddSelectColumn.js +3 -2
  72. package/lib/components/AddSelect/AddSelectFilter.js +3 -2
  73. package/lib/components/AddSelect/AddSelectList.js +39 -13
  74. package/lib/components/Card/Card.js +16 -6
  75. package/lib/components/Card/CardFooter.js +3 -1
  76. package/lib/components/Card/CardHeader.js +21 -1
  77. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +62 -10
  78. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +7 -0
  79. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +42 -0
  80. package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +1 -1
  81. package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -45
  82. package/lib/components/Datagrid/Datagrid/DatagridContent.js +138 -0
  83. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -3
  84. package/lib/components/Datagrid/Datagrid/DraggableElement.js +5 -1
  85. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +12 -41
  86. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +47 -25
  87. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsModal.js +59 -23
  88. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +3 -2
  89. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/InlineEditButton.js +79 -0
  90. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditButton/index.js +13 -0
  91. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +483 -0
  92. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/index.js +13 -0
  93. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/InlineEditContext.js +129 -0
  94. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/getCellIdAsObject.js +36 -0
  95. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/index.js +19 -0
  96. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditContext/returnUpdatedActiveCell.js +42 -0
  97. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridFocus.js +28 -0
  98. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/handleGridKeyPress.js +204 -0
  99. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +6 -5
  100. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +1 -2
  101. package/lib/components/Datagrid/index.js +17 -1
  102. package/lib/components/Datagrid/useColumnOrder.js +17 -0
  103. package/lib/components/Datagrid/useCustomizeColumns.js +5 -0
  104. package/lib/components/Datagrid/useDisableSelectRows.js +6 -2
  105. package/lib/components/Datagrid/useInlineEdit.js +85 -0
  106. package/lib/components/Datagrid/useRowSize.js +18 -13
  107. package/lib/components/Datagrid/useSelectRows.js +12 -2
  108. package/lib/components/Datagrid/useStickyColumn.js +11 -0
  109. package/lib/components/Datagrid/utils/getInlineEditColumns.js +133 -0
  110. package/lib/components/Datagrid/utils/makeData.js +17 -1
  111. package/lib/components/ImportModal/ImportModal.js +2 -2
  112. package/lib/components/InlineEdit/InlineEdit.js +4 -2
  113. package/lib/components/ProductiveCard/ProductiveCard.js +5 -0
  114. package/lib/components/index.js +12 -0
  115. package/lib/global/js/hooks/useClickOutside.js +1 -1
  116. package/lib/global/js/package-settings.js +3 -3
  117. package/lib/global/js/utils/rangeWithCallback.js +22 -0
  118. package/lib/global/js/utils/uuidv4.spec.js +4 -0
  119. package/package.json +13 -13
  120. package/scss/components/AddSelect/_add-select.scss +126 -28
  121. package/scss/components/Card/_card.scss +1 -0
  122. package/scss/components/Cascade/_cascade.scss +1 -1
  123. package/scss/components/CreateTearsheet/_create-tearsheet.scss +1 -0
  124. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +18 -1
  125. package/scss/components/Datagrid/_storybook-styles.scss +1 -1
  126. package/scss/components/Datagrid/styles/_datagrid.scss +27 -0
  127. package/scss/components/Datagrid/styles/_draggableElement.scss +26 -9
  128. package/scss/components/Datagrid/styles/_index.scss +1 -0
  129. package/scss/components/Datagrid/styles/_useInlineEdit.scss +211 -0
  130. package/scss/components/Datagrid/styles/_useStickyColumn.scss +24 -2
  131. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +44 -6
  132. package/scss/components/NotificationsPanel/_notifications-panel.scss +5 -6
  133. package/scss/components/ProductiveCard/_productive-card.scss +39 -0
  134. package/scss/components/RemoveModal/_remove-modal.scss +0 -4
  135. package/scss/components/SidePanel/_side-panel.scss +4 -6
  136. package/scss/components/_index-released-only.scss +1 -0
@@ -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,
@@ -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
  */
@@ -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.27.0",
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.4",
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.4",
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": "83988f0190d38209fe2fe64539e9aab021a46f8d"
96
+ "gitHead": "4694f431eeac26bb0787857b39aaa347edddc212"
97
97
  }
@@ -26,7 +26,6 @@
26
26
 
27
27
  .#{$block-class}__selections {
28
28
  &.#{$carbon-prefix}--structured-list {
29
- border-top: 1px solid $ui-03;
30
29
  margin-bottom: 0;
31
30
  }
32
31
 
@@ -36,8 +35,11 @@
36
35
 
37
36
  &-cell-wrapper {
38
37
  display: flex;
38
+ height: 3rem;
39
39
  align-items: center;
40
40
  justify-content: space-between;
41
+ padding: 0 $spacing-05;
42
+ border-bottom: 1px solid $ui-03;
41
43
  }
42
44
 
43
45
  &-cell-title {
@@ -52,6 +54,12 @@
52
54
  color: $text-02;
53
55
  }
54
56
 
57
+ &-cell {
58
+ display: flex;
59
+ flex-direction: column;
60
+ justify-content: center;
61
+ }
62
+
55
63
  &-cell:hover .#{$block-class}__selections-hidden-hover {
56
64
  visibility: visible;
57
65
  }
@@ -60,12 +68,9 @@
60
68
  visibility: hidden;
61
69
  }
62
70
 
63
- &-row-selected {
64
- background: #e5e5e5;
65
- }
66
-
67
- &-row-selected .#{$block-class}__selections-hidden-hover {
68
- visibility: visible;
71
+ &-row-selected#{$carbon-prefix}--structured-list-row {
72
+ border-bottom: 1px solid $selected-ui;
73
+ background-color: $selected-ui;
69
74
  }
70
75
 
71
76
  &-checkbox {
@@ -75,7 +80,7 @@
75
80
 
76
81
  &-checkbox-label-wrapper {
77
82
  display: flex;
78
- margin-left: $spacing-03;
83
+ margin-left: $spacing-05;
79
84
  }
80
85
 
81
86
  &-checkbox-label-text {
@@ -98,6 +103,15 @@
98
103
  &-cell-icon {
99
104
  margin-right: $spacing-03;
100
105
  }
106
+
107
+ &-row {
108
+ border-left: 0.125rem solid transparent;
109
+ }
110
+
111
+ &-row-meta-selected {
112
+ border-left: 0.125rem solid $interactive-04;
113
+ background-color: $hover-row;
114
+ }
101
115
  }
102
116
 
103
117
  .#{$block-class} .#{$block-class}__selections-row:hover {
@@ -116,17 +130,38 @@
116
130
  }
117
131
  }
118
132
 
133
+ .#{$block-class}
134
+ #{$carbon-prefix}--structured-list--selection
135
+ .#{$block-class}__selections-row-selected#{$carbon-prefix}--structured-list-row:hover:not(#{$carbon-prefix}--structured-list-row--header-row):not(#{$carbon-prefix}--structured-list-row--selected) {
136
+ border-bottom: 1px solid $hover-selected-ui;
137
+ background-color: $hover-selected-ui;
138
+ }
139
+
119
140
  .#{$block-class}__sub-header {
120
141
  display: flex;
121
142
  align-items: flex-end;
122
143
  justify-content: space-between;
144
+
145
+ &-multi {
146
+ padding: 0 $spacing-05;
147
+ }
148
+ }
149
+
150
+ .#{$block-class} #{$carbon-prefix}--structured-list-row {
151
+ border-bottom: 0;
152
+ }
153
+
154
+ .#{$block-class}
155
+ #{$carbon-prefix}--structured-list--selection
156
+ #{$carbon-prefix}--structured-list-row:hover:not(#{$carbon-prefix}--structured-list-row--header-row):not(#{$carbon-prefix}--structured-list-row--selected) {
157
+ border-bottom: 0;
123
158
  }
124
159
 
125
160
  // sidebar
126
161
 
127
162
  .#{$block-class}__sidebar-header {
128
163
  display: flex;
129
- padding: $spacing-06 $spacing-05 $spacing-03 $spacing-05;
164
+ padding: $spacing-07 $spacing-05 $spacing-03 $spacing-05;
130
165
  border-bottom: 1px solid $ui-03;
131
166
 
132
167
  .#{$block-class}__sidebar-title {
@@ -151,7 +186,7 @@
151
186
  }
152
187
 
153
188
  .#{$block-class}__sidebar-body {
154
- padding: $spacing-05;
189
+ padding: 0 $spacing-05;
155
190
  }
156
191
 
157
192
  .#{$block-class} .#{$block-class}__sidebar-item-header {
@@ -182,22 +217,52 @@
182
217
  .#{$block-class}__columns {
183
218
  display: flex;
184
219
  flex-direction: row;
220
+ flex-grow: 1;
185
221
  overflow-x: auto;
222
+
223
+ .#{$block-class}__selections-checkbox-label-wrapper {
224
+ margin-left: $spacing-03;
225
+ }
226
+
227
+ .#{$block-class}__selections-row#{$carbon-prefix}--structured-list-row {
228
+ border-left: 0;
229
+ }
230
+
231
+ .#{$block-class}__selections .#{$block-class}__selections-cell {
232
+ padding: 0;
233
+ }
234
+
235
+ .#{$block-class}__selections-cell-wrapper {
236
+ height: auto;
237
+ padding: 0 $spacing-03;
238
+ }
239
+
240
+ .#{$block-class}__tag-container {
241
+ padding: 0 $spacing-03;
242
+ margin-bottom: 0;
243
+ }
244
+
245
+ .#{$block-class}__selections-wrapper-multi {
246
+ padding: 0;
247
+ }
248
+
249
+ .#{$block-class}__selections#{$carbon-prefix}--structured-list {
250
+ border-top: 0;
251
+ }
186
252
  }
187
253
 
188
- // table override
189
- .#{$block-class}
190
- .#{$block-class}__columns
191
- .#{$carbon-prefix}--structured-list-td {
192
- height: 0;
193
- // stylelint-disable-next-line
194
- padding: 0 !important;
254
+ .#{$block-class}__selections-wrapper-multi .#{$block-class}__selections-cell {
255
+ padding: 0 $spacing-05;
256
+ }
257
+
258
+ .#{$block-class}__selections-row:first-child
259
+ .#{$block-class}__selections-cell-wrapper {
260
+ border-top: 1px solid $ui-03;
195
261
  }
196
262
 
197
263
  .#{$block-class}__column {
198
264
  overflow: auto;
199
- max-width: 15rem;
200
- flex: 1 0 15rem;
265
+ flex: 0 0 20rem;
201
266
  padding: $spacing-05;
202
267
  border-top: 1px solid $ui-03;
203
268
  border-right: 1px solid $ui-03;
@@ -316,8 +381,7 @@
316
381
 
317
382
  // the influencer sidebar needs to be even with the buttons
318
383
  .#{$block-class} .#{$tearsheet-class}__influencer {
319
- max-width: 29rem;
320
- flex: 0 0 50%;
384
+ flex-basis: 22.5rem;
321
385
  }
322
386
 
323
387
  .#{$block-class} .#{$tearsheet-class}__header-description {
@@ -329,6 +393,12 @@
329
393
  flex-direction: column;
330
394
  }
331
395
 
396
+ .#{$block-class}.#{$block-class}__multi
397
+ .#{$pkg-prefix}--action-set.#{$carbon-prefix}--btn-set.#{$pkg-prefix}--action-set--max
398
+ .#{$pkg-prefix}--action-set__action-button {
399
+ max-width: 11.25rem;
400
+ }
401
+
332
402
  .#{$block-class} .#{$block-class}__items-label {
333
403
  @include carbon--type-style('productive-heading-01');
334
404
  }
@@ -340,13 +410,6 @@
340
410
  padding-right: 0;
341
411
  }
342
412
 
343
- .#{$block-class} .#{$carbon-prefix}--structured-list-td {
344
- height: $layout-04;
345
- padding-top: 0;
346
- padding-bottom: 0;
347
- vertical-align: middle;
348
- }
349
-
350
413
  .#{$block-class} .#{$carbon-prefix}--radio-button__appearance {
351
414
  margin: 0 $spacing-05 0 0;
352
415
  }
@@ -374,6 +437,41 @@
374
437
  .#{$block-class} .#{$carbon-prefix}--checkbox-label-text {
375
438
  padding-left: $spacing-03;
376
439
  }
440
+
441
+ .#{$block-class}__multi .#{$pkg-prefix}--empty-state {
442
+ max-width: 16rem;
443
+ margin-top: $layout-04;
444
+ }
445
+
446
+ .#{$block-class} .#{$carbon-prefix}--accordion__arrow {
447
+ transform: rotate(0deg);
448
+ }
449
+
450
+ .#{$block-class}
451
+ .#{$carbon-prefix}--accordion__item--active
452
+ .#{$carbon-prefix}--accordion__arrow {
453
+ transform: rotate(90deg);
454
+ }
455
+
456
+ .#{$block-class}
457
+ #{$carbon-prefix}--accordion--start
458
+ #{$carbon-prefix}--accordion__arrow {
459
+ margin: 0 0 0 $spacing-05;
460
+ }
461
+
462
+ .#{$block-class}
463
+ #{$carbon-prefix}--accordion--start
464
+ #{$carbon-prefix}--accordion__title {
465
+ margin: 0 $spacing-05 0 $spacing-03;
466
+ }
467
+
468
+ .#{$block-class}
469
+ #{$carbon-prefix}--accordion__item--active
470
+ #{$carbon-prefix}--accordion__content {
471
+ padding-top: 0;
472
+ padding-bottom: 0;
473
+ margin-top: $spacing-03;
474
+ }
377
475
  }
378
476
 
379
477
  @include exports('add-select') {
@@ -23,6 +23,7 @@
23
23
 
24
24
  .#{$block-class}__clickable {
25
25
  cursor: pointer;
26
+ // stylelint-disable-next-line carbon/motion-easing-use
26
27
  transition: background $duration--fast-02;
27
28
  }
28
29
 
@@ -30,7 +30,7 @@
30
30
  .#{$block-class}__element,
31
31
  .#{$block-class}__col {
32
32
  @media (prefers-reduced-motion: no-preference) {
33
- // stylelint-disable-next-line carbon/motion-duration-use
33
+ // stylelint-disable-next-line carbon/motion-duration-use, carbon/motion-easing-use
34
34
  animation: $animationProps fade; // stylelint note animation duration declared in $animationProps
35
35
  animation-fill-mode: forwards;
36
36
  opacity: 0;
@@ -51,6 +51,7 @@
51
51
  }
52
52
 
53
53
  .#{$block-class} .#{$step-block-class}__step--visible-step {
54
+ // stylelint-disable-next-line carbon/motion-easing-use
54
55
  animation: step-content-entrance $duration--slow-01;
55
56
  animation-fill-mode: forwards;
56
57
  animation-timing-function: $carbon--standard-easing;