@carbon/ibm-products 2.8.1 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/css/index-full-carbon.css +198 -174
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +5 -3
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +2 -1
  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 +150 -149
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +2 -2
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +61 -44
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +2 -2
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/CreateFullPage/CreateFullPage.js +25 -3
  18. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +8 -2
  19. package/es/components/Datagrid/Datagrid/DraggableElement.js +61 -68
  20. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +23 -15
  21. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +5 -5
  22. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +2 -2
  23. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +24 -11
  24. package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +4 -7
  25. package/es/components/OptionsTile/OptionsTile.js +1 -1
  26. package/es/global/js/hooks/useClickOutside.js +6 -6
  27. package/lib/components/CreateFullPage/CreateFullPage.js +24 -2
  28. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +8 -2
  29. package/lib/components/Datagrid/Datagrid/DraggableElement.js +62 -68
  30. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +23 -15
  31. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +5 -5
  32. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +2 -2
  33. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +24 -11
  34. package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +4 -7
  35. package/lib/components/OptionsTile/OptionsTile.js +1 -1
  36. package/lib/global/js/hooks/useClickOutside.js +6 -6
  37. package/package.json +13 -15
  38. package/scss/components/Datagrid/_storybook-styles.scss +5 -0
  39. package/scss/components/EmptyStates/_empty-state.scss +2 -1
@@ -11,28 +11,27 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
11
11
  import * as React from 'react';
12
12
  import PropTypes from 'prop-types';
13
13
  import { Draggable, Locked } from '@carbon/react/icons';
14
- import { useDrag, useDrop } from 'react-dnd';
14
+ // import { useDrag, useDrop } from 'react-dnd';
15
15
  import cx from 'classnames';
16
16
  import { pkg } from '../../../settings';
17
17
  var useEffect = React.useEffect,
18
18
  useRef = React.useRef,
19
19
  useState = React.useState;
20
20
  var blockClass = "".concat(pkg.prefix, "--datagrid");
21
- var DRAG_TYPE = "".concat(blockClass, "__shared-ui-draggable-element");
21
+
22
+ // const DRAG_TYPE = `${blockClass}__shared-ui-draggable-element`;
23
+
22
24
  var DraggableElement = function DraggableElement(_ref) {
23
25
  var _cx;
24
- var id = _ref.id,
25
- index = _ref.index,
26
+ var index = _ref.index,
26
27
  listData = _ref.listData,
27
28
  children = _ref.children,
28
- type = _ref.type,
29
29
  disabled = _ref.disabled,
30
30
  ariaLabel = _ref.ariaLabel,
31
31
  onGrab = _ref.onGrab,
32
32
  onArrowKeyDown = _ref.onArrowKeyDown,
33
33
  isFocused = _ref.isFocused,
34
34
  isSticky = _ref.isSticky,
35
- moveElement = _ref.moveElement,
36
35
  selected = _ref.selected,
37
36
  _ref$positionLabel = _ref.positionLabel,
38
37
  positionLabel = _ref$positionLabel === void 0 ? 'Current position {index} of {total}' : _ref$positionLabel,
@@ -41,72 +40,66 @@ var DraggableElement = function DraggableElement(_ref) {
41
40
  _ref$droppedLabel = _ref.droppedLabel,
42
41
  droppedLabel = _ref$droppedLabel === void 0 ? '{itemName} dropped.' : _ref$droppedLabel;
43
42
  var ref = useRef();
44
- var _useDrop = useDrop({
45
- accept: DRAG_TYPE + type,
46
- collect: function collect(monitor) {
47
- return {
48
- isOver: !!monitor.isOver()
49
- };
50
- },
51
- drop: function drop(item) {
52
- moveElement(item.index, index);
53
- },
54
- canDrop: function canDrop() {
55
- return !disabled;
56
- },
57
- hover: function hover(item) {
58
- var dragIndex = item.index;
59
- var hoverIndex = index;
60
- // Don't replace items with themselves
61
- if (dragIndex === hoverIndex || disabled) {
62
- return;
63
- }
64
- moveElement(dragIndex, hoverIndex);
65
- // Time to actually perform the action
66
- // Note: we're mutating the monitor item here!
67
- // Generally it's better to avoid mutations,
68
- // but it's good here for the sake of performance
69
- // to avoid expensive index searches.
70
- // eslint-disable-next-line no-param-reassign
71
- item.index = hoverIndex;
72
- }
73
- }),
74
- _useDrop2 = _slicedToArray(_useDrop, 2),
75
- isOver = _useDrop2[0].isOver,
76
- drop = _useDrop2[1];
77
- var _useDrag = useDrag({
78
- type: DRAG_TYPE + type,
79
- item: {
80
- id: id,
81
- index: index
82
- },
83
- canDrag: function canDrag() {
84
- return !disabled;
85
- },
86
- collect: function collect(monitor) {
87
- return {
88
- isDragging: monitor.isDragging()
89
- };
90
- }
91
- }),
92
- _useDrag2 = _slicedToArray(_useDrag, 3),
93
- isDragging = _useDrag2[0].isDragging,
94
- drag = _useDrag2[1],
95
- preview = _useDrag2[2];
43
+
44
+ // const [{ isOver }, drop] = useDrop({
45
+ // accept: DRAG_TYPE + type,
46
+ // collect: (monitor) => ({
47
+ // isOver: !!monitor.isOver(),
48
+ // }),
49
+ // drop: (item) => {
50
+ // moveElement(item.index, index);
51
+ // },
52
+ // canDrop: () => !disabled,
53
+ // hover(item) {
54
+ // const dragIndex = item.index;
55
+ // const hoverIndex = index;
56
+ // // Don't replace items with themselves
57
+ // if (dragIndex === hoverIndex || disabled) {
58
+ // return;
59
+ // }
60
+ // // moveElement(dragIndex, hoverIndex);
61
+ // // Time to actually perform the action
62
+ // // Note: we're mutating the monitor item here!
63
+ // // Generally it's better to avoid mutations,
64
+ // // but it's good here for the sake of performance
65
+ // // to avoid expensive index searches.
66
+ // // eslint-disable-next-line no-param-reassign
67
+ // item.index = hoverIndex;
68
+ // },
69
+ // });
70
+
71
+ // const [{ isDragging }, drag, preview] = useDrag({
72
+ // type: DRAG_TYPE + type,
73
+ // item: { id, index },
74
+ // canDrag: () => !disabled,
75
+ // collect: (monitor) => ({
76
+ // isDragging: monitor.isDragging(),
77
+ // }),
78
+ // });
79
+
80
+ // Temporarily disable drag support because of commonjs support/issues with react-dnd in latest version
81
+ var _useState = useState(false),
82
+ _useState2 = _slicedToArray(_useState, 1),
83
+ isDragging = _useState2[0];
84
+ var _useState3 = useState(false),
85
+ _useState4 = _slicedToArray(_useState3, 1),
86
+ isOver = _useState4[0];
87
+ var preview = useRef();
88
+ var drag = useRef();
96
89
  useEffect(function () {
97
90
  if (isFocused && ref && ref.current) {
98
91
  ref.current.focus();
99
92
  }
100
93
  }, [isFocused]);
101
- var _useState = useState(false),
102
- _useState2 = _slicedToArray(_useState, 2),
103
- isGrabbed = _useState2[0],
104
- setIsGrabbed = _useState2[1];
105
- var _useState3 = useState(isFocused),
106
- _useState4 = _slicedToArray(_useState3, 2),
107
- isFocusedOnItem = _useState4[0],
108
- setIsFocusedOnItem = _useState4[1];
109
- drop(ref);
94
+ var _useState5 = useState(false),
95
+ _useState6 = _slicedToArray(_useState5, 2),
96
+ isGrabbed = _useState6[0],
97
+ setIsGrabbed = _useState6[1];
98
+ var _useState7 = useState(isFocused),
99
+ _useState8 = _slicedToArray(_useState7, 2),
100
+ isFocusedOnItem = _useState8[0],
101
+ setIsFocusedOnItem = _useState8[1];
102
+ // drop(ref);
110
103
  var content = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
111
104
  className: cx({
112
105
  disabled: disabled
@@ -167,7 +160,7 @@ DraggableElement.propTypes = {
167
160
  isFocused: PropTypes.bool.isRequired,
168
161
  isSticky: PropTypes.bool,
169
162
  listData: PropTypes.array.isRequired,
170
- moveElement: PropTypes.func.isRequired,
163
+ // moveElement: PropTypes.func.isRequired,
171
164
  onArrowKeyDown: PropTypes.func.isRequired,
172
165
  onGrab: PropTypes.func.isRequired,
173
166
  positionLabel: PropTypes.string,
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  /**
4
- * Copyright IBM Corp. 2022, 2022
4
+ * Copyright IBM Corp. 2022, 2023
5
5
  *
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -9,10 +9,10 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
9
9
 
10
10
  import React from 'react';
11
11
  import PropTypes from 'prop-types';
12
- import { DndProvider } from 'react-dnd';
13
- import { HTML5Backend } from 'react-dnd-html5-backend';
12
+ // import { DndProvider } from 'react-dnd';
13
+ // import { HTML5Backend } from 'react-dnd-html5-backend';
14
14
  import { Checkbox } from '@carbon/react';
15
- import update from 'immutability-helper';
15
+ // import update from 'immutability-helper';
16
16
  import { pkg } from '../../../../../settings';
17
17
  import cx from 'classnames';
18
18
  import { DraggableItemsList } from './DraggableItemsList';
@@ -44,16 +44,23 @@ var Columns = function Columns(_ref) {
44
44
  _React$useState4 = _slicedToArray(_React$useState3, 2),
45
45
  focusIndex = _React$useState4[0],
46
46
  setFocusIndex = _React$useState4[1];
47
- var moveElement = React.useCallback(function (dragIndex, hoverIndex) {
48
- var dragCard = columns[dragIndex];
49
- setColumnsObject(update(columns, {
50
- $splice: [[dragIndex, 1], [hoverIndex, 0, dragCard]]
51
- }));
52
- }, [columns, setColumnsObject]);
47
+ // const moveElement = React.useCallback(
48
+ // (dragIndex, hoverIndex) => {
49
+ // const dragCard = columns[dragIndex];
50
+ // setColumnsObject(
51
+ // update(columns, {
52
+ // $splice: [
53
+ // [dragIndex, 1],
54
+ // [hoverIndex, 0, dragCard],
55
+ // ],
56
+ // })
57
+ // );
58
+ // },
59
+ // [columns, setColumnsObject]
60
+ // );
61
+
53
62
  return /*#__PURE__*/React.createElement("div", {
54
63
  className: "".concat(blockClass, "__customize-columns-column-list")
55
- }, /*#__PURE__*/React.createElement(DndProvider, {
56
- backend: HTML5Backend
57
64
  }, /*#__PURE__*/React.createElement("ol", {
58
65
  className: "".concat(blockClass, "__customize-columns-column-list--focus"),
59
66
  role: "listbox",
@@ -90,13 +97,14 @@ var Columns = function Columns(_ref) {
90
97
  columns: columns,
91
98
  filterString: filterString,
92
99
  focusIndex: focusIndex,
93
- getNextIndex: getNextIndex,
94
- moveElement: moveElement,
100
+ getNextIndex: getNextIndex
101
+ // moveElement={moveElement}
102
+ ,
95
103
  onSelectColumn: onSelectColumn,
96
104
  setAriaRegionText: setAriaRegionText,
97
105
  setColumnsObject: setColumnsObject,
98
106
  setFocusIndex: setFocusIndex
99
- }))));
107
+ })));
100
108
  };
101
109
  Columns.propTypes = {
102
110
  assistiveTextDisabledInstructionsLabel: PropTypes.string,
@@ -18,7 +18,6 @@ export var DraggableItemsList = function DraggableItemsList(_ref) {
18
18
  filterString = _ref.filterString,
19
19
  focusIndex = _ref.focusIndex,
20
20
  getNextIndex = _ref.getNextIndex,
21
- moveElement = _ref.moveElement,
22
21
  onSelectColumn = _ref.onSelectColumn,
23
22
  setAriaRegionText = _ref.setAriaRegionText,
24
23
  setColumnsObject = _ref.setColumnsObject,
@@ -68,8 +67,9 @@ export var DraggableItemsList = function DraggableItemsList(_ref) {
68
67
  disabled: filterString.length > 0 || isFrozenColumn,
69
68
  ariaLabel: colHeaderTitle,
70
69
  onGrab: setAriaRegionText,
71
- isFocused: focusIndex === i,
72
- moveElement: moveElement,
70
+ isFocused: focusIndex === i
71
+ // moveElement={moveElement}
72
+ ,
73
73
  onArrowKeyDown: function onArrowKeyDown(e, isGrabbed, currentIndex) {
74
74
  if (isGrabbed) {
75
75
  var _columns$nextIndex;
@@ -78,7 +78,7 @@ export var DraggableItemsList = function DraggableItemsList(_ref) {
78
78
  e.stopPropagation();
79
79
  if (nextIndex >= 0 && !((_columns$nextIndex = columns[nextIndex]) !== null && _columns$nextIndex !== void 0 && _columns$nextIndex.sticky)) {
80
80
  setFocusIndex(nextIndex);
81
- moveElement(currentIndex, nextIndex);
81
+ // moveElement(currentIndex, nextIndex);
82
82
  e.target.scrollIntoView({
83
83
  block: 'center'
84
84
  });
@@ -95,7 +95,7 @@ DraggableItemsList.propTypes = {
95
95
  filterString: PropTypes.string.isRequired,
96
96
  focusIndex: PropTypes.number.isRequired,
97
97
  getNextIndex: PropTypes.func.isRequired,
98
- moveElement: PropTypes.func.isRequired,
98
+ // moveElement: PropTypes.func.isRequired,
99
99
  onSelectColumn: PropTypes.func.isRequired,
100
100
  setAriaRegionText: PropTypes.func.isRequired,
101
101
  setColumnsObject: PropTypes.func.isRequired,
@@ -152,7 +152,8 @@ var FilterFlyout = function FilterFlyout(_ref) {
152
152
  lastAppliedFilters.current = JSON.stringify(reactTableFiltersState);
153
153
  }, [reactTableFiltersState, lastAppliedFilters]);
154
154
  return /*#__PURE__*/React.createElement("div", {
155
- className: "".concat(componentClass, "__container")
155
+ className: "".concat(componentClass, "__container"),
156
+ ref: filterFlyoutRef
156
157
  }, /*#__PURE__*/React.createElement(IconButton, {
157
158
  label: flyoutIconDescription,
158
159
  kind: "ghost",
@@ -161,7 +162,6 @@ var FilterFlyout = function FilterFlyout(_ref) {
161
162
  className: cx("".concat(componentClass, "__trigger"), _defineProperty({}, "".concat(componentClass, "__trigger--open"), open)),
162
163
  disabled: data.length === 0
163
164
  }, /*#__PURE__*/React.createElement(Filter, null)), /*#__PURE__*/React.createElement("div", {
164
- ref: filterFlyoutRef,
165
165
  className: cx(componentClass, (_cx2 = {}, _defineProperty(_cx2, "".concat(componentClass, "--open"), open), _defineProperty(_cx2, "".concat(componentClass, "--batch"), showActionSet), _defineProperty(_cx2, "".concat(componentClass, "--instant"), !showActionSet), _cx2))
166
166
  }, /*#__PURE__*/React.createElement("div", {
167
167
  className: "".concat(componentClass, "__inner-container")
@@ -15,7 +15,7 @@ import { Settings } from '@carbon/react/icons';
15
15
  import { IconButton, Layer, Popover, PopoverContent } from '@carbon/react';
16
16
  import RowSizeRadioGroup from './RowSizeRadioGroup';
17
17
  import { pkg } from '../../../../../settings';
18
- var blockClass = "".concat(pkg.prefix, "--datagrid");
18
+ var blockClass = "".concat(pkg.prefix, "--datagrid__row-size");
19
19
  var RowSizeDropdown = function RowSizeDropdown(_ref) {
20
20
  var _ref$align = _ref.align,
21
21
  align = _ref$align === void 0 ? 'bottom-right' : _ref$align,
@@ -26,24 +26,37 @@ var RowSizeDropdown = function RowSizeDropdown(_ref) {
26
26
  _React$useState2 = _slicedToArray(_React$useState, 2),
27
27
  isOpen = _React$useState2[0],
28
28
  setIsOpen = _React$useState2[1];
29
+ var onCloseHandler = function onCloseHandler() {
30
+ setIsOpen(false);
31
+ };
32
+ var onKeyHandler = function onKeyHandler(e) {
33
+ if (e.key === 'Escape') {
34
+ onCloseHandler();
35
+ }
36
+ };
37
+ var onBlurHandler = function onBlurHandler(e) {
38
+ if (!e.currentTarget.contains(e.relatedTarget)) {
39
+ onCloseHandler();
40
+ }
41
+ };
42
+ var onClickHandler = function onClickHandler() {
43
+ setIsOpen(!isOpen);
44
+ };
29
45
  return /*#__PURE__*/React.createElement(Popover, {
46
+ tabIndex: -1,
30
47
  isTabTip: true,
31
48
  align: "bottom-right",
32
49
  open: isOpen,
33
- onRequestClose: function onRequestClose() {
34
- return setIsOpen(false);
35
- },
36
- className: "".concat(blockClass, "__row-size-options-container")
50
+ onRequestClose: onCloseHandler,
51
+ className: "".concat(blockClass, "-options-container"),
52
+ onKeyDown: onKeyHandler,
53
+ onBlur: onBlurHandler
37
54
  }, /*#__PURE__*/React.createElement(IconButton, {
38
55
  align: align,
39
56
  kind: "ghost",
40
- onClick: function onClick() {
41
- return setIsOpen(function (prevOpen) {
42
- return !prevOpen;
43
- });
44
- },
57
+ onClick: onClickHandler,
45
58
  label: legendText,
46
- className: "".concat(blockClass, "__row-size-button")
59
+ className: "".concat(blockClass, "-button")
47
60
  }, /*#__PURE__*/React.createElement(Settings, {
48
61
  size: 16
49
62
  })), /*#__PURE__*/React.createElement(PopoverContent, null, /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(RowSizeRadioGroup, _extends({}, props, {
@@ -10,7 +10,7 @@ import PropTypes from 'prop-types';
10
10
  import { RadioButtonGroup, RadioButton } from '@carbon/react';
11
11
  import isArray from 'lodash/isArray';
12
12
  import { pkg } from '../../../../../settings';
13
- var blockClass = "".concat(pkg.prefix, "--datagrid");
13
+ var blockClass = "".concat(pkg.prefix, "--datagrid__row-size");
14
14
  var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
15
15
  var rowSizes = _ref.rowSizes,
16
16
  selectedOption = _ref.selectedOption,
@@ -26,11 +26,8 @@ var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
26
26
  xs: 'Extra small'
27
27
  } : _ref$rowSizeLabels;
28
28
  return /*#__PURE__*/React.createElement("div", {
29
- className: "".concat(blockClass, "__row-size-dropdown"),
30
- role: "presentation",
31
- onClick: function onClick(e) {
32
- e.stopPropagation();
33
- }
29
+ className: "".concat(blockClass, "-dropdown"),
30
+ role: "presentation"
34
31
  }, /*#__PURE__*/React.createElement(RadioButtonGroup, {
35
32
  legendText: legendText,
36
33
  name: "row-height-group",
@@ -45,7 +42,7 @@ var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
45
42
  labelText = option.value;
46
43
  }
47
44
  return /*#__PURE__*/React.createElement(RadioButton, {
48
- className: "".concat(blockClass, "__row-size-radio-button"),
45
+ className: "".concat(blockClass, "-radio-button"),
49
46
  key: option.value,
50
47
  labelText: labelText,
51
48
  value: option.value,
@@ -214,7 +214,7 @@ export var OptionsTile = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
214
214
  }, getDevtoolsProps(componentName)), enabled !== undefined && /*#__PURE__*/React.createElement("div", {
215
215
  className: "".concat(blockClass, "__toggle-container")
216
216
  }, /*#__PURE__*/React.createElement(Toggle, {
217
- id: "".concat(id, "-toggle"),
217
+ id: "".concat(titleId, "-toggle"),
218
218
  className: "".concat(blockClass, "__toggle"),
219
219
  toggled: enabled,
220
220
  "aria-labelledby": titleId,
@@ -7,15 +7,15 @@
7
7
 
8
8
  import { useEffect } from 'react';
9
9
  export var useClickOutside = function useClickOutside(ref, callback) {
10
- var handleClick = function handleClick(event) {
11
- if (ref.current && !ref.current.contains(event.target)) {
12
- callback(event.target);
13
- }
14
- };
15
10
  useEffect(function () {
11
+ var handleClick = function handleClick(event) {
12
+ if (ref.current && !ref.current.contains(event.target)) {
13
+ callback(event.target);
14
+ }
15
+ };
16
16
  document.addEventListener('click', handleClick);
17
17
  return function () {
18
18
  document.removeEventListener('click', handleClick);
19
19
  };
20
- });
20
+ }, [callback, ref]);
21
21
  };
@@ -19,7 +19,8 @@ var _CreateInfluencer = require("../CreateInfluencer");
19
19
  var _ActionSet = require("../ActionSet");
20
20
  var _hooks = require("../../global/js/hooks");
21
21
  var _lastIndexInArray = require("../../global/js/utils/lastIndexInArray");
22
- var _excluded = ["backButtonText", "cancelButtonText", "children", "className", "modalDangerButtonText", "modalDescription", "modalSecondaryButtonText", "modalTitle", "nextButtonText", "onClose", "onRequestSubmit", "firstFocusElement", "submitButtonText", "title"];
22
+ var _getNumberOfHiddenSteps = require("../../global/js/utils/getNumberOfHiddenSteps");
23
+ var _excluded = ["backButtonText", "cancelButtonText", "children", "className", "initialStep", "modalDangerButtonText", "modalDescription", "modalSecondaryButtonText", "modalTitle", "nextButtonText", "onClose", "onRequestSubmit", "firstFocusElement", "submitButtonText", "title"];
23
24
  /**
24
25
  * Copyright IBM Corp. 2021, 2023
25
26
  *
@@ -62,6 +63,7 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
62
63
  cancelButtonText = _ref.cancelButtonText,
63
64
  children = _ref.children,
64
65
  className = _ref.className,
66
+ initialStep = _ref.initialStep,
65
67
  modalDangerButtonText = _ref.modalDangerButtonText,
66
68
  modalDescription = _ref.modalDescription,
67
69
  modalSecondaryButtonText = _ref.modalSecondaryButtonText,
@@ -132,7 +134,11 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
132
134
  if (lastItem !== lastIncludedStep) {
133
135
  setLastIncludedStep(lastItem);
134
136
  }
135
- }, [stepData, firstIncludedStep, lastIncludedStep]);
137
+ if (open && initialStep) {
138
+ var numberOfHiddenSteps = (0, _getNumberOfHiddenSteps.getNumberOfHiddenSteps)(stepData, initialStep);
139
+ setCurrentStep(Number(initialStep + numberOfHiddenSteps));
140
+ }
141
+ }, [stepData, firstIncludedStep, lastIncludedStep, initialStep]);
136
142
  (0, _hooks.useCreateComponentFocus)({
137
143
  previousState: previousState,
138
144
  currentStep: currentStep,
@@ -141,6 +147,16 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
141
147
  firstFocusElement: firstFocusElement
142
148
  });
143
149
  (0, _hooks.useValidCreateStepCount)(stepData.length, componentName);
150
+ (0, _hooks.useResetCreateComponent)({
151
+ firstIncludedStep: firstIncludedStep,
152
+ previousState: previousState,
153
+ open: open,
154
+ setCurrentStep: setCurrentStep,
155
+ stepData: stepData,
156
+ initialStep: initialStep,
157
+ totalSteps: stepData === null || stepData === void 0 ? void 0 : stepData.length,
158
+ componentName: componentName
159
+ });
144
160
  (0, _hooks.useCreateComponentStepChange)({
145
161
  firstIncludedStep: firstIncludedStep,
146
162
  lastIncludedStep: lastIncludedStep,
@@ -267,6 +283,12 @@ CreateFullPage.propTypes = {
267
283
  * Specifies elements to focus on first on render.
268
284
  */
269
285
  firstFocusElement: _propTypes.default.string,
286
+ /**
287
+ * This can be used to open the component to a step other than the first step.
288
+ * For example, a create flow was previously in progress, data was saved, and
289
+ * is now being completed.
290
+ */
291
+ initialStep: _propTypes.default.number,
270
292
  /**
271
293
  * The primary 'danger' button text in the modal
272
294
  */
@@ -37,7 +37,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
37
37
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
38
38
  receivedInitialWidth = _useState6[0],
39
39
  setReceivedInitialWidth = _useState6[1];
40
- var selectedRowIds = datagridState.state.selectedRowIds,
40
+ var onSelectAllRows = datagridState.onSelectAllRows,
41
+ selectedRowIds = datagridState.state.selectedRowIds,
41
42
  toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
42
43
  toolbarBatchActions = datagridState.toolbarBatchActions,
43
44
  setGlobalFilter = datagridState.setGlobalFilter,
@@ -125,7 +126,12 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
125
126
  onCancel: function onCancel() {
126
127
  toggleAllRowsSelected(false);
127
128
  setGlobalFilter(null);
128
- }
129
+ },
130
+ onSelectAll: function onSelectAll() {
131
+ toggleAllRowsSelected(true);
132
+ onSelectAllRows === null || onSelectAllRows === void 0 ? void 0 : onSelectAllRows(true);
133
+ },
134
+ totalCount: rows && rows.length
129
135
  }, !displayAllInMenu && toolbarBatchActions && (toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
130
136
  if (index < 2 && toolbarBatchActions.length > 3 || index < 3 && toolbarBatchActions.length <= 3) {
131
137
  return /*#__PURE__*/_react.default.createElement(_react2.TableBatchAction, {