carbon-react 110.4.0 → 110.5.1

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 (122) hide show
  1. package/esm/__internal__/i18n-context/index.d.ts +2 -1
  2. package/esm/__internal__/popover/popover.component.d.ts +2 -1
  3. package/esm/__internal__/popover/popover.component.js +15 -4
  4. package/esm/__internal__/popover/popover.style.d.ts +6 -2
  5. package/esm/__internal__/popover/popover.style.js +6 -2
  6. package/esm/components/i18n-provider/i18n-provider.component.d.ts +8 -0
  7. package/esm/components/i18n-provider/i18n-provider.component.js +100 -80
  8. package/esm/components/i18n-provider/index.d.ts +2 -1
  9. package/esm/components/icon/icon.component.js +22 -9
  10. package/esm/components/message/index.d.ts +2 -1
  11. package/esm/components/message/message-content/message-content.component.d.ts +9 -0
  12. package/esm/components/message/message-content/message-content.component.js +4 -5
  13. package/esm/components/message/message-content/message-content.style.d.ts +2 -0
  14. package/esm/components/message/message-content/message-content.style.js +0 -3
  15. package/esm/components/message/message.component.d.ts +27 -0
  16. package/esm/components/message/message.component.js +169 -37
  17. package/esm/components/message/message.style.d.ts +8 -0
  18. package/esm/components/message/message.style.js +1 -8
  19. package/esm/components/message/type-icon/type-icon.component.d.ts +10 -0
  20. package/esm/components/message/type-icon/type-icon.component.js +4 -8
  21. package/esm/components/message/type-icon/type-icon.style.d.ts +9 -0
  22. package/esm/components/message/type-icon/type-icon.style.js +0 -10
  23. package/esm/components/search/search.component.js +28 -2
  24. package/esm/components/search/search.d.ts +3 -1
  25. package/esm/components/select/filterable-select/filterable-select.component.js +7 -5
  26. package/esm/components/select/multi-select/multi-select.component.js +4 -3
  27. package/esm/components/select/select-list/select-list.component.js +34 -18
  28. package/esm/components/select/simple-select/simple-select.component.js +4 -3
  29. package/esm/components/sidebar/__internal__/sidebar-header/index.d.ts +1 -0
  30. package/esm/components/sidebar/__internal__/sidebar-header/sidebar-header.component.d.ts +9 -0
  31. package/esm/components/sidebar/__internal__/sidebar-header/sidebar-header.component.js +7 -18
  32. package/esm/components/sidebar/__internal__/sidebar-header/sidebar-header.style.d.ts +2 -0
  33. package/esm/components/sidebar/index.d.ts +2 -1
  34. package/esm/components/sidebar/index.js +1 -2
  35. package/esm/components/sidebar/sidebar.component.d.ts +44 -0
  36. package/esm/components/sidebar/sidebar.component.js +187 -48
  37. package/esm/components/sidebar/sidebar.config.d.ts +11 -0
  38. package/esm/components/sidebar/sidebar.style.d.ts +8 -0
  39. package/esm/components/step-sequence/index.d.ts +4 -2
  40. package/esm/components/step-sequence/step-sequence-item/index.d.ts +2 -0
  41. package/esm/components/step-sequence/step-sequence-item/step-sequence-item.component.d.ts +19 -0
  42. package/esm/components/step-sequence/step-sequence-item/step-sequence-item.component.js +26 -41
  43. package/esm/components/step-sequence/step-sequence-item/step-sequence-item.style.d.ts +9 -0
  44. package/esm/components/step-sequence/step-sequence-item/step-sequence-item.style.js +18 -2
  45. package/esm/components/step-sequence/step-sequence.component.d.ts +13 -0
  46. package/esm/components/step-sequence/step-sequence.component.js +170 -18
  47. package/esm/components/step-sequence/step-sequence.config.d.ts +2 -0
  48. package/esm/components/step-sequence/step-sequence.style.d.ts +4 -0
  49. package/esm/components/tabs/__internal__/tab-title/tab-title.component.d.ts +4 -0
  50. package/esm/components/tabs/__internal__/tab-title/tab-title.component.js +34 -4
  51. package/esm/components/tabs/__internal__/tab-title/tab-title.d.ts +6 -0
  52. package/esm/components/tabs/__internal__/tab-title/tab-title.style.d.ts +4 -0
  53. package/lib/__internal__/i18n-context/index.d.ts +2 -1
  54. package/lib/__internal__/popover/popover.component.d.ts +2 -1
  55. package/lib/__internal__/popover/popover.component.js +16 -5
  56. package/lib/__internal__/popover/popover.style.d.ts +6 -2
  57. package/lib/__internal__/popover/popover.style.js +8 -3
  58. package/lib/components/i18n-provider/i18n-provider.component.d.ts +8 -0
  59. package/lib/components/i18n-provider/i18n-provider.component.js +102 -82
  60. package/lib/components/i18n-provider/index.d.ts +2 -1
  61. package/lib/components/icon/icon.component.js +22 -8
  62. package/lib/components/message/index.d.ts +2 -1
  63. package/lib/components/message/message-content/message-content.component.d.ts +9 -0
  64. package/lib/components/message/message-content/message-content.component.js +5 -6
  65. package/lib/components/message/message-content/message-content.style.d.ts +2 -0
  66. package/lib/components/message/message-content/message-content.style.js +0 -4
  67. package/lib/components/message/message.component.d.ts +27 -0
  68. package/lib/components/message/message.component.js +170 -40
  69. package/lib/components/message/message.style.d.ts +8 -0
  70. package/lib/components/message/message.style.js +1 -9
  71. package/lib/components/message/type-icon/type-icon.component.d.ts +10 -0
  72. package/lib/components/message/type-icon/type-icon.component.js +4 -8
  73. package/lib/components/message/type-icon/type-icon.style.d.ts +9 -0
  74. package/lib/components/message/type-icon/type-icon.style.js +0 -13
  75. package/lib/components/search/search.component.js +28 -2
  76. package/lib/components/search/search.d.ts +3 -1
  77. package/lib/components/select/filterable-select/filterable-select.component.js +7 -5
  78. package/lib/components/select/multi-select/multi-select.component.js +4 -3
  79. package/lib/components/select/select-list/select-list.component.js +34 -18
  80. package/lib/components/select/simple-select/simple-select.component.js +4 -3
  81. package/lib/components/sidebar/__internal__/sidebar-header/index.d.ts +1 -0
  82. package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.component.d.ts +9 -0
  83. package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.component.js +7 -19
  84. package/lib/components/sidebar/__internal__/sidebar-header/sidebar-header.style.d.ts +2 -0
  85. package/lib/components/sidebar/index.d.ts +2 -1
  86. package/lib/components/sidebar/sidebar.component.d.ts +44 -0
  87. package/lib/components/sidebar/sidebar.component.js +187 -50
  88. package/lib/components/sidebar/sidebar.config.d.ts +11 -0
  89. package/lib/components/sidebar/sidebar.style.d.ts +8 -0
  90. package/lib/components/step-sequence/index.d.ts +4 -2
  91. package/lib/components/step-sequence/step-sequence-item/index.d.ts +2 -0
  92. package/lib/components/step-sequence/step-sequence-item/step-sequence-item.component.d.ts +19 -0
  93. package/lib/components/step-sequence/step-sequence-item/step-sequence-item.component.js +30 -48
  94. package/lib/components/step-sequence/step-sequence-item/step-sequence-item.style.d.ts +9 -0
  95. package/lib/components/step-sequence/step-sequence-item/step-sequence-item.style.js +22 -3
  96. package/lib/components/step-sequence/step-sequence.component.d.ts +13 -0
  97. package/lib/components/step-sequence/step-sequence.component.js +171 -21
  98. package/lib/components/step-sequence/step-sequence.config.d.ts +2 -0
  99. package/lib/components/step-sequence/step-sequence.style.d.ts +4 -0
  100. package/lib/components/tabs/__internal__/tab-title/tab-title.component.d.ts +4 -0
  101. package/lib/components/tabs/__internal__/tab-title/tab-title.component.js +38 -4
  102. package/lib/components/tabs/__internal__/tab-title/tab-title.d.ts +6 -0
  103. package/lib/components/tabs/__internal__/tab-title/tab-title.style.d.ts +4 -0
  104. package/package.json +1 -1
  105. package/esm/components/i18n-provider/i18n-provider.d.ts +0 -11
  106. package/esm/components/message/message.d.ts +0 -29
  107. package/esm/components/sidebar/__internal__/sidebar-header/__definition__.js +0 -13
  108. package/esm/components/sidebar/sidebar.d.ts +0 -57
  109. package/esm/components/step-sequence/step-sequence-item/step-sequence-item-content.style.js +0 -5
  110. package/esm/components/step-sequence/step-sequence-item/step-sequence-item-hidden-label.style.js +0 -9
  111. package/esm/components/step-sequence/step-sequence-item/step-sequence-item-indicator.style.js +0 -9
  112. package/esm/components/step-sequence/step-sequence-item/step-sequence-item.d.ts +0 -22
  113. package/esm/components/step-sequence/step-sequence.d.ts +0 -12
  114. package/lib/components/i18n-provider/i18n-provider.d.ts +0 -11
  115. package/lib/components/message/message.d.ts +0 -29
  116. package/lib/components/sidebar/__internal__/sidebar-header/__definition__.js +0 -25
  117. package/lib/components/sidebar/sidebar.d.ts +0 -57
  118. package/lib/components/step-sequence/step-sequence-item/step-sequence-item-content.style.js +0 -16
  119. package/lib/components/step-sequence/step-sequence-item/step-sequence-item-hidden-label.style.js +0 -20
  120. package/lib/components/step-sequence/step-sequence-item/step-sequence-item-indicator.style.js +0 -20
  121. package/lib/components/step-sequence/step-sequence-item/step-sequence-item.d.ts +0 -22
  122. package/lib/components/step-sequence/step-sequence.d.ts +0 -12
@@ -453,7 +453,8 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
453
453
  listPlacement: listPlacement,
454
454
  flipEnabled: flipEnabled,
455
455
  loaderDataRole: "multi-select-list-loader",
456
- multiselectValues: actualValue
456
+ multiselectValues: actualValue,
457
+ isOpen: isOpen
457
458
  }, children);
458
459
 
459
460
  return /*#__PURE__*/_react.default.createElement(_multiSelect.StyledSelectMultiSelect, _extends({
@@ -473,12 +474,12 @@ const MultiSelect = /*#__PURE__*/_react.default.forwardRef(({
473
474
  }, accessibilityLabel), /*#__PURE__*/_react.default.createElement(_selectTextbox.default, _extends({
474
475
  accessibilityLabelId: accessibilityLabelId.current,
475
476
  activeDescendantId: activeDescendantId,
476
- "aria-controls": isOpen ? selectListId.current : undefined,
477
+ "aria-controls": selectListId.current,
477
478
  hasTextCursor: true,
478
479
  isOpen: isOpen,
479
480
  labelId: labelId.current,
480
481
  textboxRef: textboxRef
481
- }, getTextboxProps()))), isOpen && selectList);
482
+ }, getTextboxProps()))), selectList);
482
483
  });
483
484
 
484
485
  MultiSelect.propTypes = { ..._selectTextbox.formInputPropTypes,
@@ -76,6 +76,7 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
76
76
  loaderDataRole,
77
77
  listPlacement = "bottom-start",
78
78
  flipEnabled = true,
79
+ isOpen,
79
80
  ...listProps
80
81
  }, listContainerRef) => {
81
82
  const [currentOptionsListIndex, setCurrentOptionsListIndex] = (0, _react.useState)(-1);
@@ -91,30 +92,35 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
91
92
  blockScroll,
92
93
  allowScroll
93
94
  } = (0, _useScrollBlock.default)();
95
+ const updateListHeight = (0, _react.useCallback)(() => {
96
+ if (isOpen) {
97
+ let newHeight = listRef.current.clientHeight;
94
98
 
95
- const updateListHeight = () => {
96
- let newHeight = listRef.current.clientHeight;
99
+ if (listActionButtonRef.current) {
100
+ newHeight += listActionButtonRef.current.parentElement.clientHeight;
101
+ }
97
102
 
98
- if (listActionButtonRef.current) {
99
- newHeight += listActionButtonRef.current.parentElement.clientHeight;
103
+ setListHeight(`${newHeight}px`);
100
104
  }
101
-
102
- setListHeight(`${newHeight}px`);
103
- };
104
-
105
+ }, [isOpen]);
105
106
  const listCallbackRef = (0, _react.useCallback)(element => {
106
107
  listRef.current = element;
107
108
 
108
109
  if (element) {
109
110
  setTimeout(updateListHeight, 0);
110
111
  }
111
- }, []);
112
+ }, [updateListHeight]);
112
113
  (0, _react.useEffect)(() => {
113
- blockScroll();
114
+ if (isOpen) {
115
+ blockScroll();
116
+ }
117
+
114
118
  return () => {
115
- allowScroll();
119
+ if (isOpen) {
120
+ allowScroll();
121
+ }
116
122
  };
117
- }, [allowScroll, blockScroll]);
123
+ }, [allowScroll, blockScroll, isOpen]);
118
124
  (0, _react.useLayoutEffect)(() => {
119
125
  if (multiColumn) {
120
126
  setScrollbarWidth(tableRef.current.offsetWidth - tableRef.current.clientWidth);
@@ -138,6 +144,7 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
138
144
  selectionType: "click"
139
145
  });
140
146
  }, [onSelect]);
147
+ const childIds = (0, _react.useMemo)(() => _react.default.Children.map(children, () => (0, _guid.default)()), [children]);
141
148
  const childrenWithListProps = (0, _react.useMemo)(() => _react.default.Children.map(children, (child, index) => {
142
149
  if (!child || child.type !== _option.default && child.type !== _optionRow.default) {
143
150
  return child;
@@ -145,13 +152,13 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
145
152
 
146
153
  const newProps = {
147
154
  index,
148
- id: (0, _guid.default)(),
155
+ id: childIds[index],
149
156
  onSelect: handleSelect,
150
157
  hidden: isLoading && _react.default.Children.count(children) === 1,
151
158
  ref: optionRefList[index]
152
159
  };
153
160
  return /*#__PURE__*/_react.default.cloneElement(child, newProps);
154
- }), [children, handleSelect, isLoading, optionRefList]);
161
+ }), [children, handleSelect, isLoading, optionRefList, childIds]);
155
162
  const childrenList = (0, _react.useMemo)(() => _react.default.Children.toArray(childrenWithListProps), [childrenWithListProps]);
156
163
  const lastOptionIndex = (0, _react.useMemo)(() => {
157
164
  let lastIndex = 0;
@@ -218,6 +225,10 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
218
225
  }
219
226
  }, [anchorElement]);
220
227
  const handleGlobalKeydown = (0, _react.useCallback)(event => {
228
+ if (!isOpen) {
229
+ return;
230
+ }
231
+
221
232
  const {
222
233
  key
223
234
  } = event;
@@ -251,7 +262,7 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
251
262
  focusOnAnchor();
252
263
  highlightNextItem(key);
253
264
  }
254
- }, [childrenList, listActionButton, handleActionButtonTab, onSelectListClose, currentOptionsListIndex, onSelect, highlightNextItem, focusOnAnchor]);
265
+ }, [childrenList, listActionButton, handleActionButtonTab, onSelectListClose, currentOptionsListIndex, onSelect, highlightNextItem, focusOnAnchor, isOpen]);
255
266
  const handleListScroll = (0, _react.useCallback)(event => {
256
267
  const element = event.target;
257
268
 
@@ -273,7 +284,7 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
273
284
  window.removeEventListener("resize", assignListWidth);
274
285
  };
275
286
  }, [assignListWidth]);
276
- (0, _react.useLayoutEffect)(updateListHeight, [children]);
287
+ (0, _react.useLayoutEffect)(updateListHeight, [children, updateListHeight]);
277
288
  (0, _react.useEffect)(() => {
278
289
  const keyboardEvent = "keydown";
279
290
  const listElement = listRef.current;
@@ -345,7 +356,7 @@ const SelectList = /*#__PURE__*/_react.default.forwardRef(({
345
356
  reference: anchorRef,
346
357
  onFirstUpdate: setPlacementCallback,
347
358
  modifiers: popoverModifiers,
348
- disableBackgroundUI: true
359
+ isOpen: isOpen
349
360
  }, /*#__PURE__*/_react.default.createElement(_selectList.StyledPopoverContainer, {
350
361
  height: listHeight,
351
362
  width: listWidth,
@@ -428,7 +439,12 @@ SelectList.propTypes = {
428
439
  listPlacement: _propTypes.default.oneOf(["auto", "auto-start", "auto-end", "top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end", "right", "right-start", "right-end", "left", "left-start", "left-end"]),
429
440
 
430
441
  /** Use the opposite list placement if the set placement does not fit */
431
- flipEnabled: _propTypes.default.bool
442
+ flipEnabled: _propTypes.default.bool,
443
+
444
+ /** @private @ignore
445
+ * Hides the list (with CSS display: none) if not set
446
+ */
447
+ isOpen: _propTypes.default.bool
432
448
  };
433
449
  var _default = SelectList;
434
450
  exports.default = _default;
@@ -356,7 +356,8 @@ const SimpleSelect = /*#__PURE__*/_react.default.forwardRef(({
356
356
  multiColumn: multiColumn,
357
357
  loaderDataRole: "simple-select-list-loader",
358
358
  listPlacement: listPlacement,
359
- flipEnabled: flipEnabled
359
+ flipEnabled: flipEnabled,
360
+ isOpen: isOpen
360
361
  }, children);
361
362
 
362
363
  return /*#__PURE__*/_react.default.createElement(_select.default, _extends({
@@ -370,12 +371,12 @@ const SimpleSelect = /*#__PURE__*/_react.default.forwardRef(({
370
371
  }, (0, _utils.filterStyledSystemMarginProps)(props)), /*#__PURE__*/_react.default.createElement("div", {
371
372
  ref: containerRef
372
373
  }, /*#__PURE__*/_react.default.createElement(_selectTextbox.default, _extends({
373
- "aria-controls": isOpen ? selectListId.current : undefined,
374
+ "aria-controls": selectListId.current,
374
375
  activeDescendantId: activeDescendantId,
375
376
  labelId: labelId.current,
376
377
  isOpen: isOpen,
377
378
  textboxRef: textboxRef
378
- }, getTextboxProps()))), isOpen && selectList);
379
+ }, getTextboxProps()))), selectList);
379
380
  });
380
381
 
381
382
  SimpleSelect.propTypes = {
@@ -0,0 +1 @@
1
+ export { default } from "./sidebar-header.component";
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface SidebarHeaderProps {
3
+ /** This component supports children. */
4
+ children?: React.ReactNode;
5
+ /** A custom id. */
6
+ id: string;
7
+ }
8
+ declare const SidebarHeader: ({ children, id }: SidebarHeaderProps) => JSX.Element;
9
+ export default SidebarHeader;
@@ -9,33 +9,21 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _tags = _interopRequireDefault(require("../../../../__internal__/utils/helpers/tags/tags"));
13
-
14
12
  var _sidebarHeader = _interopRequireDefault(require("./sidebar-header.style"));
15
13
 
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
15
 
18
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
-
20
16
  const SidebarHeader = ({
21
- className,
22
17
  children,
23
- id,
24
- ...props
25
- }) => /*#__PURE__*/_react.default.createElement(_sidebarHeader.default, _extends({
26
- className: className,
27
- id: id
28
- }, (0, _tags.default)("sidebar-header", props)), children);
18
+ id
19
+ }) => /*#__PURE__*/_react.default.createElement(_sidebarHeader.default, {
20
+ id: id,
21
+ "data-component": "sidebar-header"
22
+ }, children);
29
23
 
30
24
  SidebarHeader.propTypes = {
31
- /** This component supports children. */
32
- children: _propTypes.default.node,
33
-
34
- /** A custom class name. */
35
- className: _propTypes.default.string,
36
-
37
- /** A custom id. */
38
- id: _propTypes.default.string
25
+ "children": _propTypes.default.node,
26
+ "id": _propTypes.default.string.isRequired
39
27
  };
40
28
  var _default = SidebarHeader;
41
29
  exports.default = _default;
@@ -0,0 +1,2 @@
1
+ declare const SidebarHeaderStyle: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export default SidebarHeaderStyle;
@@ -1 +1,2 @@
1
- export { default, SidebarContext } from "./sidebar";
1
+ export { default, SidebarContext } from "./sidebar.component";
2
+ export type { SidebarProps } from "./sidebar.component";
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import { PaddingProps } from "styled-system";
3
+ import { TagProps } from "../../__internal__/utils/helpers/tags/tags";
4
+ export interface SidebarContextProps {
5
+ isInSidebar?: boolean;
6
+ }
7
+ export declare const SidebarContext: React.Context<SidebarContextProps>;
8
+ export interface SidebarProps extends PaddingProps, TagProps {
9
+ /** Prop to specify the aria-describedby property of the component */
10
+ "aria-describedby"?: string;
11
+ /**
12
+ * Prop to specify the aria-label of the component.
13
+ * To be used only when the title prop is not defined, and the component is not labelled by any internal element.
14
+ */
15
+ "aria-label"?: string;
16
+ /**
17
+ * Prop to specify the aria-labeledby property of the component
18
+ * To be used when the title prop is a custom React Node,
19
+ * or the component is labelled by an internal element other than the title.
20
+ */
21
+ "aria-labelledby"?: string;
22
+ /** Modal content */
23
+ children?: React.ReactNode;
24
+ /** Determines if the Esc Key closes the modal */
25
+ disableEscKey?: boolean;
26
+ /** Set this prop to false to hide the translucent background when the dialog is open. */
27
+ enableBackgroundUI?: boolean;
28
+ /** Node that will be used as sidebar header. */
29
+ header?: React.ReactNode;
30
+ /** A custom close event handler */
31
+ onCancel?: (ev: React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement>) => void;
32
+ /** Sets the open state of the modal */
33
+ open: boolean;
34
+ /** Sets the position of sidebar, either left or right. */
35
+ position?: "left" | "right";
36
+ /** The ARIA role to be applied to the component container */
37
+ role?: string;
38
+ /** Sets the size of the sidebar when open. */
39
+ size?: "extra-small" | "small" | "medium-small" | "medium" | "medium-large" | "large" | "extra-large";
40
+ /** an optional array of refs to containers whose content should also be reachable by tabbing from the sidebar */
41
+ focusableContainers?: React.MutableRefObject<HTMLElement>[];
42
+ }
43
+ export declare const Sidebar: React.ForwardRefExoticComponent<Pick<SidebarProps, keyof SidebarProps> & React.RefAttributes<HTMLDivElement>>;
44
+ export default Sidebar;
@@ -3,14 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.SidebarContext = void 0;
6
+ exports.default = exports.Sidebar = exports.SidebarContext = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _propTypes2 = _interopRequireDefault(require("@styled-system/prop-types"));
13
-
14
12
  var _modal = _interopRequireDefault(require("../modal"));
15
13
 
16
14
  var _sidebar = _interopRequireDefault(require("./sidebar.style"));
@@ -39,8 +37,6 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
39
37
 
40
38
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
41
39
 
42
- const paddingPropTypes = (0, _utils.filterStyledSystemPaddingProps)(_propTypes2.default.space);
43
-
44
40
  const SidebarContext = /*#__PURE__*/_react.default.createContext({});
45
41
 
46
42
  exports.SidebarContext = SidebarContext;
@@ -65,8 +61,13 @@ const Sidebar = /*#__PURE__*/_react.default.forwardRef(({
65
61
  const {
66
62
  current: titleId
67
63
  } = (0, _react.useRef)((0, _guid.default)());
68
- let sidebarRef = (0, _react.useRef)(null);
69
- if (ref) sidebarRef = ref;
64
+ const sidebarRef = (0, _react.useRef)(null);
65
+ const setRefs = (0, _react.useCallback)(reference => {
66
+ sidebarRef.current = reference;
67
+ if (!ref) return;
68
+ if (typeof ref === "object") ref.current = reference;
69
+ if (typeof ref === "function") ref(reference);
70
+ }, [ref]);
70
71
 
71
72
  const closeIcon = () => {
72
73
  if (!onCancel) return null;
@@ -90,7 +91,7 @@ const Sidebar = /*#__PURE__*/_react.default.forwardRef(({
90
91
  "aria-describedby": ariaDescribedBy,
91
92
  "aria-label": ariaLabel,
92
93
  "aria-labelledby": !ariaLabelledBy && !ariaLabel ? titleId : ariaLabelledBy,
93
- ref: sidebarRef,
94
+ ref: setRefs,
94
95
  position: position,
95
96
  size: size,
96
97
  "data-element": "sidebar",
@@ -117,8 +118,7 @@ const Sidebar = /*#__PURE__*/_react.default.forwardRef(({
117
118
  open: open,
118
119
  onCancel: onCancel,
119
120
  disableEscKey: disableEscKey,
120
- enableBackgroundUI: enableBackgroundUI,
121
- className: "carbon-sidebar"
121
+ enableBackgroundUI: enableBackgroundUI
122
122
  }, componentTags), enableBackgroundUI ? sidebar : /*#__PURE__*/_react.default.createElement(_focusTrap.default, {
123
123
  wrapperRef: sidebarRef,
124
124
  isOpen: open,
@@ -126,50 +126,187 @@ const Sidebar = /*#__PURE__*/_react.default.forwardRef(({
126
126
  }, sidebar));
127
127
  });
128
128
 
129
+ exports.Sidebar = Sidebar;
129
130
  Sidebar.propTypes = {
130
- /** Styled system padding props to apply to Sidebar content */
131
- ...paddingPropTypes,
132
-
133
- /** Prop to specify the aria-describedby property of the component */
134
131
  "aria-describedby": _propTypes.default.string,
135
-
136
- /** Prop to specify the aria-label of the component */
137
132
  "aria-label": _propTypes.default.string,
138
-
139
- /** Prop to specify the aria-labeledby property of the component */
140
133
  "aria-labelledby": _propTypes.default.string,
141
-
142
- /** Modal content */
143
- children: _propTypes.default.node,
144
-
145
- /** A custom close event handler */
146
- onCancel: _propTypes.default.func,
147
-
148
- /** Determines if the Esc Key closes the modal */
149
- disableEscKey: _propTypes.default.bool,
150
-
151
- /** A boolean to track the open state of the dialog */
152
- open: _propTypes.default.bool.isRequired,
153
-
154
- /** Set this prop to false to hide the translucent background when the dialog is open. */
155
- enableBackgroundUI: _propTypes.default.bool,
156
-
157
- /** Sets the position of sidebar, either left or right. */
158
- position: _propTypes.default.oneOf(["left", "right"]),
159
-
160
- /** Sets the size of the sidebar when open. */
161
- size: _propTypes.default.oneOf(["extra-small", "small", "medium-small", "medium", "medium-large", "large", "extra-large"]),
162
-
163
- /** Node that will be used as sidebar header. */
164
- header: _propTypes.default.node,
165
-
166
- /** The ARIA role to be applied to the container */
167
- role: _propTypes.default.string,
168
-
169
- /** an optional array of refs to containers whose content should also be reachable by tabbing from the sidebar */
170
- focusableContainers: _propTypes.default.arrayOf(_propTypes.default.shape({
171
- current: _propTypes.default.any
172
- }))
134
+ "children": _propTypes.default.node,
135
+ "data-component": _propTypes.default.string,
136
+ "data-element": _propTypes.default.string,
137
+ "data-role": _propTypes.default.string,
138
+ "disableEscKey": _propTypes.default.bool,
139
+ "enableBackgroundUI": _propTypes.default.bool,
140
+ "focusableContainers": _propTypes.default.arrayOf(_propTypes.default.shape({
141
+ "current": function (props, propName) {
142
+ if (props[propName] == null) {
143
+ return new Error("Prop '" + propName + "' is required but wasn't specified");
144
+ } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
145
+ return new Error("Expected prop '" + propName + "' to be of type Element");
146
+ }
147
+ }
148
+ })),
149
+ "header": _propTypes.default.node,
150
+ "onCancel": _propTypes.default.func,
151
+ "open": _propTypes.default.bool.isRequired,
152
+ "p": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
153
+ "__@toStringTag": _propTypes.default.string.isRequired,
154
+ "description": _propTypes.default.string,
155
+ "toString": _propTypes.default.func.isRequired,
156
+ "valueOf": _propTypes.default.func.isRequired
157
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
158
+ "__@toStringTag": _propTypes.default.string.isRequired,
159
+ "description": _propTypes.default.string,
160
+ "toString": _propTypes.default.func.isRequired,
161
+ "valueOf": _propTypes.default.func.isRequired
162
+ }), _propTypes.default.string]),
163
+ "padding": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
164
+ "__@toStringTag": _propTypes.default.string.isRequired,
165
+ "description": _propTypes.default.string,
166
+ "toString": _propTypes.default.func.isRequired,
167
+ "valueOf": _propTypes.default.func.isRequired
168
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
169
+ "__@toStringTag": _propTypes.default.string.isRequired,
170
+ "description": _propTypes.default.string,
171
+ "toString": _propTypes.default.func.isRequired,
172
+ "valueOf": _propTypes.default.func.isRequired
173
+ }), _propTypes.default.string]),
174
+ "paddingBottom": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
175
+ "__@toStringTag": _propTypes.default.string.isRequired,
176
+ "description": _propTypes.default.string,
177
+ "toString": _propTypes.default.func.isRequired,
178
+ "valueOf": _propTypes.default.func.isRequired
179
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
180
+ "__@toStringTag": _propTypes.default.string.isRequired,
181
+ "description": _propTypes.default.string,
182
+ "toString": _propTypes.default.func.isRequired,
183
+ "valueOf": _propTypes.default.func.isRequired
184
+ }), _propTypes.default.string]),
185
+ "paddingLeft": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
186
+ "__@toStringTag": _propTypes.default.string.isRequired,
187
+ "description": _propTypes.default.string,
188
+ "toString": _propTypes.default.func.isRequired,
189
+ "valueOf": _propTypes.default.func.isRequired
190
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
191
+ "__@toStringTag": _propTypes.default.string.isRequired,
192
+ "description": _propTypes.default.string,
193
+ "toString": _propTypes.default.func.isRequired,
194
+ "valueOf": _propTypes.default.func.isRequired
195
+ }), _propTypes.default.string]),
196
+ "paddingRight": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
197
+ "__@toStringTag": _propTypes.default.string.isRequired,
198
+ "description": _propTypes.default.string,
199
+ "toString": _propTypes.default.func.isRequired,
200
+ "valueOf": _propTypes.default.func.isRequired
201
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
202
+ "__@toStringTag": _propTypes.default.string.isRequired,
203
+ "description": _propTypes.default.string,
204
+ "toString": _propTypes.default.func.isRequired,
205
+ "valueOf": _propTypes.default.func.isRequired
206
+ }), _propTypes.default.string]),
207
+ "paddingTop": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
208
+ "__@toStringTag": _propTypes.default.string.isRequired,
209
+ "description": _propTypes.default.string,
210
+ "toString": _propTypes.default.func.isRequired,
211
+ "valueOf": _propTypes.default.func.isRequired
212
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
213
+ "__@toStringTag": _propTypes.default.string.isRequired,
214
+ "description": _propTypes.default.string,
215
+ "toString": _propTypes.default.func.isRequired,
216
+ "valueOf": _propTypes.default.func.isRequired
217
+ }), _propTypes.default.string]),
218
+ "paddingX": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
219
+ "__@toStringTag": _propTypes.default.string.isRequired,
220
+ "description": _propTypes.default.string,
221
+ "toString": _propTypes.default.func.isRequired,
222
+ "valueOf": _propTypes.default.func.isRequired
223
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
224
+ "__@toStringTag": _propTypes.default.string.isRequired,
225
+ "description": _propTypes.default.string,
226
+ "toString": _propTypes.default.func.isRequired,
227
+ "valueOf": _propTypes.default.func.isRequired
228
+ }), _propTypes.default.string]),
229
+ "paddingY": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
230
+ "__@toStringTag": _propTypes.default.string.isRequired,
231
+ "description": _propTypes.default.string,
232
+ "toString": _propTypes.default.func.isRequired,
233
+ "valueOf": _propTypes.default.func.isRequired
234
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
235
+ "__@toStringTag": _propTypes.default.string.isRequired,
236
+ "description": _propTypes.default.string,
237
+ "toString": _propTypes.default.func.isRequired,
238
+ "valueOf": _propTypes.default.func.isRequired
239
+ }), _propTypes.default.string]),
240
+ "pb": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
241
+ "__@toStringTag": _propTypes.default.string.isRequired,
242
+ "description": _propTypes.default.string,
243
+ "toString": _propTypes.default.func.isRequired,
244
+ "valueOf": _propTypes.default.func.isRequired
245
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
246
+ "__@toStringTag": _propTypes.default.string.isRequired,
247
+ "description": _propTypes.default.string,
248
+ "toString": _propTypes.default.func.isRequired,
249
+ "valueOf": _propTypes.default.func.isRequired
250
+ }), _propTypes.default.string]),
251
+ "pl": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
252
+ "__@toStringTag": _propTypes.default.string.isRequired,
253
+ "description": _propTypes.default.string,
254
+ "toString": _propTypes.default.func.isRequired,
255
+ "valueOf": _propTypes.default.func.isRequired
256
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
257
+ "__@toStringTag": _propTypes.default.string.isRequired,
258
+ "description": _propTypes.default.string,
259
+ "toString": _propTypes.default.func.isRequired,
260
+ "valueOf": _propTypes.default.func.isRequired
261
+ }), _propTypes.default.string]),
262
+ "position": _propTypes.default.oneOf(["left", "right"]),
263
+ "pr": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
264
+ "__@toStringTag": _propTypes.default.string.isRequired,
265
+ "description": _propTypes.default.string,
266
+ "toString": _propTypes.default.func.isRequired,
267
+ "valueOf": _propTypes.default.func.isRequired
268
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
269
+ "__@toStringTag": _propTypes.default.string.isRequired,
270
+ "description": _propTypes.default.string,
271
+ "toString": _propTypes.default.func.isRequired,
272
+ "valueOf": _propTypes.default.func.isRequired
273
+ }), _propTypes.default.string]),
274
+ "pt": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
275
+ "__@toStringTag": _propTypes.default.string.isRequired,
276
+ "description": _propTypes.default.string,
277
+ "toString": _propTypes.default.func.isRequired,
278
+ "valueOf": _propTypes.default.func.isRequired
279
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
280
+ "__@toStringTag": _propTypes.default.string.isRequired,
281
+ "description": _propTypes.default.string,
282
+ "toString": _propTypes.default.func.isRequired,
283
+ "valueOf": _propTypes.default.func.isRequired
284
+ }), _propTypes.default.string]),
285
+ "px": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
286
+ "__@toStringTag": _propTypes.default.string.isRequired,
287
+ "description": _propTypes.default.string,
288
+ "toString": _propTypes.default.func.isRequired,
289
+ "valueOf": _propTypes.default.func.isRequired
290
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
291
+ "__@toStringTag": _propTypes.default.string.isRequired,
292
+ "description": _propTypes.default.string,
293
+ "toString": _propTypes.default.func.isRequired,
294
+ "valueOf": _propTypes.default.func.isRequired
295
+ }), _propTypes.default.string]),
296
+ "py": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
297
+ "__@toStringTag": _propTypes.default.string.isRequired,
298
+ "description": _propTypes.default.string,
299
+ "toString": _propTypes.default.func.isRequired,
300
+ "valueOf": _propTypes.default.func.isRequired
301
+ }), _propTypes.default.string])), _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
302
+ "__@toStringTag": _propTypes.default.string.isRequired,
303
+ "description": _propTypes.default.string,
304
+ "toString": _propTypes.default.func.isRequired,
305
+ "valueOf": _propTypes.default.func.isRequired
306
+ }), _propTypes.default.string]),
307
+ "role": _propTypes.default.string,
308
+ "size": _propTypes.default.oneOf(["extra-large", "extra-small", "large", "medium-large", "medium-small", "medium", "small"])
173
309
  };
310
+ Sidebar.displayName = "Sidebar";
174
311
  var _default = Sidebar;
175
312
  exports.default = _default;
@@ -0,0 +1,11 @@
1
+ export declare const SIDEBAR_SIZES_CSS: {
2
+ "extra-small": string;
3
+ small: string;
4
+ "medium-small": string;
5
+ medium: string;
6
+ "medium-large": string;
7
+ large: string;
8
+ "extra-large": string;
9
+ };
10
+ export declare const SIDEBAR_SIZES: string[];
11
+ export declare const SIDEBAR_ALIGNMENTS: string[];
@@ -0,0 +1,8 @@
1
+ import { SidebarProps } from "./sidebar.component";
2
+ declare type StyledSidebarProps = {
3
+ onCancel?: SidebarProps["onCancel"];
4
+ position?: SidebarProps["position"];
5
+ size?: SidebarProps["size"];
6
+ };
7
+ declare const StyledSidebar: import("styled-components").StyledComponent<"div", any, StyledSidebarProps, never>;
8
+ export default StyledSidebar;
@@ -1,2 +1,4 @@
1
- export { default as StepSequence } from "./step-sequence";
2
- export { default as StepSequenceItem } from "./step-sequence-item/step-sequence-item";
1
+ export { default as StepSequence } from "./step-sequence.component";
2
+ export type { StepSequenceProps } from "./step-sequence.component";
3
+ export { default as StepSequenceItem } from "./step-sequence-item";
4
+ export type { StepSequenceItemProps } from "./step-sequence-item";
@@ -0,0 +1,2 @@
1
+ export { default } from "./step-sequence-item.component";
2
+ export type { StepSequenceItemProps } from "./step-sequence-item.component";
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ export interface StepSequenceItemProps {
3
+ /** Aria label */
4
+ ariaLabel?: string;
5
+ /** Hidden label to be displayed if item is complete */
6
+ hiddenCompleteLabel?: string;
7
+ /** Hidden label to be displayed if item is current */
8
+ hiddenCurrentLabel?: string;
9
+ /** Value to be displayed before text for uncomplete steps */
10
+ indicator: string;
11
+ /** Flag to hide the indicator for uncomplete steps */
12
+ hideIndicator?: boolean;
13
+ /** Status for the step */
14
+ status?: "complete" | "current" | "incomplete";
15
+ /** Content to be displayed */
16
+ children: React.ReactNode;
17
+ }
18
+ export declare const StepSequenceItem: ({ hideIndicator, indicator, status, hiddenCompleteLabel, hiddenCurrentLabel, children, ariaLabel, ...rest }: StepSequenceItemProps) => JSX.Element;
19
+ export default StepSequenceItem;