@carbon/react 1.37.0-rc.0 → 1.37.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 (68) hide show
  1. package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +9019 -0
  2. package/es/components/Button/Button.js +12 -12
  3. package/es/components/DataTable/DataTable.d.ts +4 -0
  4. package/es/components/DataTable/DataTable.js +2 -0
  5. package/es/components/DataTable/TableBatchActions.d.ts +51 -0
  6. package/es/components/DataTable/TableBatchActions.js +39 -8
  7. package/es/components/DataTable/TableToolbarSearch.d.ts +176 -0
  8. package/es/components/DataTable/TableToolbarSearch.js +9 -4
  9. package/es/components/FileUploader/FileUploader.Skeleton.d.ts +1 -4
  10. package/es/components/FileUploader/FileUploaderDropContainer.d.ts +9 -17
  11. package/es/components/FileUploader/FileUploaderDropContainer.js +21 -17
  12. package/es/components/FileUploader/FileUploaderItem.d.ts +3 -14
  13. package/es/components/FileUploader/FileUploaderItem.js +4 -4
  14. package/es/components/FormLabel/FormLabel.d.ts +40 -0
  15. package/es/components/FormLabel/index.d.ts +9 -0
  16. package/es/components/MultiSelect/MultiSelect.d.ts +1 -3
  17. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.d.ts +24 -0
  18. package/es/components/SkeletonPlaceholder/SkeletonPlaceholder.js +3 -5
  19. package/es/components/SkeletonPlaceholder/index.d.ts +9 -0
  20. package/es/components/StructuredList/StructuredList.js +5 -2
  21. package/es/components/Tag/Tag.Skeleton.d.ts +35 -0
  22. package/es/components/Tag/Tag.d.ts +122 -0
  23. package/es/components/Tag/Tag.js +6 -6
  24. package/es/components/Tag/index.d.ts +11 -0
  25. package/es/components/TimePicker/TimePicker.js +8 -6
  26. package/es/components/Toggle/Toggle.Skeleton.js +1 -4
  27. package/es/components/Toggle/Toggle.js +1 -1
  28. package/es/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -3
  29. package/es/components/UIShell/HeaderMenuItem.js +1 -2
  30. package/es/components/UIShell/Link.js +1 -2
  31. package/es/components/UIShell/SideNav.js +1 -3
  32. package/es/components/UIShell/index.d.ts +35 -0
  33. package/es/index.js +32 -32
  34. package/es/types/common.d.ts +7 -0
  35. package/lib/components/Button/Button.js +12 -12
  36. package/lib/components/DataTable/DataTable.d.ts +4 -0
  37. package/lib/components/DataTable/DataTable.js +2 -0
  38. package/lib/components/DataTable/TableBatchActions.d.ts +51 -0
  39. package/lib/components/DataTable/TableBatchActions.js +39 -8
  40. package/lib/components/DataTable/TableToolbarSearch.d.ts +176 -0
  41. package/lib/components/DataTable/TableToolbarSearch.js +9 -4
  42. package/lib/components/FileUploader/FileUploader.Skeleton.d.ts +1 -4
  43. package/lib/components/FileUploader/FileUploaderDropContainer.d.ts +9 -17
  44. package/lib/components/FileUploader/FileUploaderDropContainer.js +21 -17
  45. package/lib/components/FileUploader/FileUploaderItem.d.ts +3 -14
  46. package/lib/components/FileUploader/FileUploaderItem.js +4 -4
  47. package/lib/components/FormLabel/FormLabel.d.ts +40 -0
  48. package/lib/components/FormLabel/index.d.ts +9 -0
  49. package/lib/components/MultiSelect/MultiSelect.d.ts +1 -3
  50. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.d.ts +24 -0
  51. package/lib/components/SkeletonPlaceholder/SkeletonPlaceholder.js +3 -5
  52. package/lib/components/SkeletonPlaceholder/index.d.ts +9 -0
  53. package/lib/components/StructuredList/StructuredList.js +5 -2
  54. package/lib/components/Tag/Tag.Skeleton.d.ts +35 -0
  55. package/lib/components/Tag/Tag.d.ts +122 -0
  56. package/lib/components/Tag/Tag.js +6 -6
  57. package/lib/components/Tag/index.d.ts +11 -0
  58. package/lib/components/TimePicker/TimePicker.js +8 -6
  59. package/lib/components/Toggle/Toggle.Skeleton.js +1 -4
  60. package/lib/components/Toggle/Toggle.js +1 -1
  61. package/lib/components/ToggleSmall/ToggleSmall.Skeleton.js +0 -3
  62. package/lib/components/UIShell/HeaderMenuItem.js +1 -2
  63. package/lib/components/UIShell/Link.js +1 -2
  64. package/lib/components/UIShell/SideNav.js +1 -3
  65. package/lib/components/UIShell/index.d.ts +35 -0
  66. package/lib/index.js +65 -65
  67. package/lib/types/common.d.ts +7 -0
  68. package/package.json +6 -5
@@ -9,15 +9,13 @@ import React from 'react';
9
9
  import { ListBoxSize, ListBoxType } from '../ListBox';
10
10
  import { ListBoxProps } from '../ListBox/ListBox';
11
11
  import { OnChangeData } from '../Dropdown';
12
+ import type { InternationalProps } from '../../types/common';
12
13
  interface SharedOptions {
13
14
  locale: string;
14
15
  }
15
16
  interface DownshiftTypedProps<ItemType> {
16
17
  itemToString?(item: ItemType): string;
17
18
  }
18
- interface InternationalProps<MID = string, ARGS = Record<string, unknown>> {
19
- translateWithId?(messageId: MID, args?: ARGS): string;
20
- }
21
19
  interface SortItemsOptions<ItemType> extends SharedOptions, DownshiftTypedProps<ItemType> {
22
20
  compareItems(item1: ItemType, item2: ItemType, options: SharedOptions): number;
23
21
  selectedItems: ItemType[];
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import PropTypes from 'prop-types';
8
+ export interface SkeletonPlaceholderProps {
9
+ /**
10
+ * Add a custom class to the component to set the height and width
11
+ */
12
+ className?: string;
13
+ }
14
+ declare const SkeletonPlaceholder: {
15
+ ({ className, ...other }: SkeletonPlaceholderProps): JSX.Element;
16
+ propTypes: {
17
+ /**
18
+ * Add a custom class to the component
19
+ * to set the height and width
20
+ */
21
+ className: PropTypes.Requireable<string>;
22
+ };
23
+ };
24
+ export default SkeletonPlaceholder;
@@ -28,9 +28,8 @@ const SkeletonPlaceholder = _ref => {
28
28
  } = _ref;
29
29
  const prefix = usePrefix.usePrefix();
30
30
  const skeletonPlaceholderClasses = cx__default["default"]({
31
- [`${prefix}--skeleton__placeholder`]: true,
32
- [className]: className
33
- });
31
+ [`${prefix}--skeleton__placeholder`]: true
32
+ }, className);
34
33
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
35
34
  className: skeletonPlaceholderClasses
36
35
  }, other));
@@ -42,6 +41,5 @@ SkeletonPlaceholder.propTypes = {
42
41
  */
43
42
  className: PropTypes__default["default"].string
44
43
  };
45
- var SkeletonPlaceholder$1 = SkeletonPlaceholder;
46
44
 
47
- exports["default"] = SkeletonPlaceholder$1;
45
+ exports["default"] = SkeletonPlaceholder;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import SkeletonPlaceholder from './SkeletonPlaceholder';
8
+ export default SkeletonPlaceholder;
9
+ export { SkeletonPlaceholder };
@@ -171,11 +171,14 @@ function StructuredListRow(props) {
171
171
  return head ? /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
172
172
  role: "row"
173
173
  }, other, {
174
- className: classes
174
+ className: classes,
175
+ "aria-busy": "true"
175
176
  }), children) :
176
177
  /*#__PURE__*/
177
178
  // eslint-disable-next-line jsx-a11y/interactive-supports-focus
178
- React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, other, {
179
+ React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
180
+ "aria-busy": "true"
181
+ }, other, {
179
182
  role: "row",
180
183
  className: classes,
181
184
  onClick: () => {
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import PropTypes from 'prop-types';
8
+ import React from 'react';
9
+ export interface TagSkeletonProps extends React.HTMLAttributes<HTMLSpanElement> {
10
+ /**
11
+ * Specify an optional className to add.
12
+ */
13
+ className?: string;
14
+ /**
15
+ * Specify the size of the Tag. Currently supports either `sm` or
16
+ * default sizes.
17
+ */
18
+ size?: 'sm';
19
+ }
20
+ declare function TagSkeleton({ className, size, ...rest }: TagSkeletonProps): JSX.Element;
21
+ declare namespace TagSkeleton {
22
+ var propTypes: {
23
+ /**
24
+ * Specify an optional className to add.
25
+ */
26
+ className: PropTypes.Requireable<string>;
27
+ /**
28
+ * Specify the size of the Tag. Currently supports either `sm` or
29
+ * default sizes.
30
+ */
31
+ size: PropTypes.Requireable<string>;
32
+ };
33
+ }
34
+ export default TagSkeleton;
35
+ export { TagSkeleton };
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import PropTypes from 'prop-types';
8
+ import React from 'react';
9
+ import { PolymorphicProps } from '../../types/common';
10
+ declare const TYPES: {
11
+ red: string;
12
+ magenta: string;
13
+ purple: string;
14
+ blue: string;
15
+ cyan: string;
16
+ teal: string;
17
+ green: string;
18
+ gray: string;
19
+ 'cool-gray': string;
20
+ 'warm-gray': string;
21
+ 'high-contrast': string;
22
+ outline: string;
23
+ };
24
+ export interface TagBaseProps {
25
+ /**
26
+ * Provide content to be rendered inside of a <Tag>
27
+ */
28
+ children?: React.ReactNode;
29
+ /**
30
+ * Provide a custom className that is applied to the containing <span>
31
+ */
32
+ className?: string;
33
+ /**
34
+ * Specify if the <Tag> is disabled
35
+ */
36
+ disabled?: boolean;
37
+ /**
38
+ * Determine if <Tag> is a filter/chip
39
+ */
40
+ filter?: boolean;
41
+ /**
42
+ * Specify the id for the tag.
43
+ */
44
+ id?: string;
45
+ /**
46
+ * Click handler for filter tag close button.
47
+ */
48
+ onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;
49
+ /**
50
+ * Optional prop to render a custom icon.
51
+ * Can be a React component class
52
+ */
53
+ renderIcon?: React.ElementType;
54
+ /**
55
+ * Specify the size of the Tag. Currently supports either `sm` or
56
+ * 'md' (default) sizes.
57
+ */
58
+ size?: 'sm' | 'md';
59
+ /**
60
+ * Text to show on clear filters
61
+ */
62
+ title?: string;
63
+ /**
64
+ * Specify the type of the <Tag>
65
+ */
66
+ type?: keyof typeof TYPES;
67
+ }
68
+ export type TagProps<T extends React.ElementType> = PolymorphicProps<T, TagBaseProps>;
69
+ declare const Tag: {
70
+ <T extends React.ElementType<any>>({ children, className, id, type, filter, renderIcon: CustomIconElement, title, disabled, onClose, size, as: BaseComponent, ...other }: TagProps<T>): JSX.Element;
71
+ propTypes: {
72
+ /**
73
+ * Provide an alternative tag or component to use instead of the default
74
+ * wrapping element
75
+ */
76
+ as: PropTypes.Requireable<PropTypes.ReactComponentLike>;
77
+ /**
78
+ * Provide content to be rendered inside of a <Tag>
79
+ */
80
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
81
+ /**
82
+ * Provide a custom className that is applied to the containing <span>
83
+ */
84
+ className: PropTypes.Requireable<string>;
85
+ /**
86
+ * Specify if the <Tag> is disabled
87
+ */
88
+ disabled: PropTypes.Requireable<boolean>;
89
+ /**
90
+ * Determine if <Tag> is a filter/chip
91
+ */
92
+ filter: PropTypes.Requireable<boolean>;
93
+ /**
94
+ * Specify the id for the tag.
95
+ */
96
+ id: PropTypes.Requireable<string>;
97
+ /**
98
+ * Click handler for filter tag close button.
99
+ */
100
+ onClose: PropTypes.Requireable<(...args: any[]) => any>;
101
+ /**
102
+ * Optional prop to render a custom icon.
103
+ * Can be a React component class
104
+ */
105
+ renderIcon: PropTypes.Requireable<object>;
106
+ /**
107
+ * Specify the size of the Tag. Currently supports either `sm` or
108
+ * 'md' (default) sizes.
109
+ */
110
+ size: PropTypes.Requireable<string>;
111
+ /**
112
+ * Text to show on clear filters
113
+ */
114
+ title: PropTypes.Requireable<string>;
115
+ /**
116
+ * Specify the type of the <Tag>
117
+ */
118
+ type: PropTypes.Requireable<string>;
119
+ };
120
+ };
121
+ export declare const types: string[];
122
+ export default Tag;
@@ -65,6 +65,7 @@ const Tag = _ref => {
65
65
  [`${prefix}--tag--${type}`]: type,
66
66
  [`${prefix}--tag--interactive`]: other.onClick && !filter
67
67
  });
68
+ const typeText = type !== undefined && type in Object.keys(TYPES) ? TYPES[type] : '';
68
69
  const handleClose = event => {
69
70
  if (onClose) {
70
71
  event.stopPropagation();
@@ -78,8 +79,8 @@ const Tag = _ref => {
78
79
  id: tagId
79
80
  }, other), /*#__PURE__*/React__default["default"].createElement("span", {
80
81
  className: `${prefix}--tag__label`,
81
- title: typeof children === 'string' ? children : null
82
- }, children !== null && children !== undefined ? children : TYPES[type]), /*#__PURE__*/React__default["default"].createElement("button", {
82
+ title: typeof children === 'string' ? children : undefined
83
+ }, children !== null && children !== undefined ? children : typeText), /*#__PURE__*/React__default["default"].createElement("button", {
83
84
  type: "button",
84
85
  className: `${prefix}--tag__close-icon`,
85
86
  onClick: handleClose,
@@ -96,8 +97,8 @@ const Tag = _ref => {
96
97
  }, other), CustomIconElement ? /*#__PURE__*/React__default["default"].createElement("div", {
97
98
  className: `${prefix}--tag__custom-icon`
98
99
  }, /*#__PURE__*/React__default["default"].createElement(CustomIconElement, null)) : '', /*#__PURE__*/React__default["default"].createElement("span", {
99
- title: typeof children === 'string' ? children : null
100
- }, children !== null && children !== undefined ? children : TYPES[type]));
100
+ title: typeof children === 'string' ? children : undefined
101
+ }, children !== null && children !== undefined ? children : typeText));
101
102
  };
102
103
  Tag.propTypes = {
103
104
  /**
@@ -149,7 +150,6 @@ Tag.propTypes = {
149
150
  type: PropTypes__default["default"].oneOf(Object.keys(TYPES))
150
151
  };
151
152
  const types = Object.keys(TYPES);
152
- var Tag$1 = Tag;
153
153
 
154
- exports["default"] = Tag$1;
154
+ exports["default"] = Tag;
155
155
  exports.types = types;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import Tag from './Tag';
8
+ export * from './Tag.Skeleton';
9
+ export * from './Tag';
10
+ export default Tag;
11
+ export { Tag };
@@ -120,12 +120,14 @@ const TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function Ti
120
120
  };
121
121
  const mappedChildren = React__default["default"].Children.map(children, pickerSelect => {
122
122
  const item = pickerSelect;
123
- return /*#__PURE__*/React__default["default"].cloneElement(item, {
124
- ...item.props,
125
- disabled: disabled,
126
- readOnly: readOnly,
127
- ...readOnlyEventHandlers
128
- });
123
+ if (item) {
124
+ return /*#__PURE__*/React__default["default"].cloneElement(item, {
125
+ ...item.props,
126
+ disabled: disabled,
127
+ readOnly: readOnly,
128
+ ...readOnlyEventHandlers
129
+ });
130
+ }
129
131
  });
130
132
  return mappedChildren;
131
133
  }
@@ -23,7 +23,6 @@ var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
23
23
 
24
24
  const ToggleSkeleton = _ref => {
25
25
  let {
26
- 'aria-label': ariaLabel = 'Toggle is loading',
27
26
  className,
28
27
  ...rest
29
28
  } = _ref;
@@ -31,9 +30,7 @@ const ToggleSkeleton = _ref => {
31
30
  const skeletonClassNames = cx__default["default"](`${prefix}--toggle ${prefix}--toggle--skeleton`, className);
32
31
  return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
33
32
  className: skeletonClassNames
34
- }, rest, {
35
- "aria-label": ariaLabel
36
- }), /*#__PURE__*/React__default["default"].createElement("div", {
33
+ }, rest), /*#__PURE__*/React__default["default"].createElement("div", {
37
34
  className: `${prefix}--toggle__skeleton-circle`
38
35
  }), /*#__PURE__*/React__default["default"].createElement("div", {
39
36
  className: `${prefix}--toggle__skeleton-rectangle`
@@ -96,7 +96,7 @@ function Toggle(_ref) {
96
96
  role: "switch",
97
97
  type: "button",
98
98
  "aria-checked": checked,
99
- "aria-labelledby": ariaLabelledby,
99
+ "aria-labelledby": id,
100
100
  disabled: disabled,
101
101
  onClick: handleClick
102
102
  })), /*#__PURE__*/React__default["default"].createElement(LabelComponent, {
@@ -73,9 +73,6 @@ _rollupPluginBabelHelpers.defineProperty(ToggleSmallSkeleton, "propTypes", {
73
73
  */
74
74
  labelText: PropTypes__default["default"].string
75
75
  });
76
- _rollupPluginBabelHelpers.defineProperty(ToggleSmallSkeleton, "defaultProps", {
77
- ['aria-label']: 'Toggle is loading'
78
- });
79
76
 
80
77
  exports.ToggleSmallSkeleton = ToggleSmallSkeleton;
81
78
  exports["default"] = ToggleSmallSkeleton;
@@ -92,6 +92,5 @@ HeaderMenuItem.propTypes = {
92
92
  */
93
93
  tabIndex: PropTypes__default["default"].number
94
94
  };
95
- var HeaderMenuItem$1 = HeaderMenuItem;
96
95
 
97
- exports["default"] = HeaderMenuItem$1;
96
+ exports["default"] = HeaderMenuItem;
@@ -64,7 +64,6 @@ const LinkPropTypes = {
64
64
  };
65
65
  Link.displayName = 'Link';
66
66
  Link.propTypes = LinkPropTypes;
67
- var Link$1 = Link;
68
67
 
69
68
  exports.LinkPropTypes = LinkPropTypes;
70
- exports["default"] = Link$1;
69
+ exports["default"] = Link;
@@ -265,7 +265,5 @@ SideNav.propTypes = {
265
265
  // translateById: PropTypes.func,
266
266
  };
267
267
 
268
- var SideNav$1 = SideNav;
269
-
270
268
  exports.SideNavContext = SideNavContext;
271
- exports["default"] = SideNav$1;
269
+ exports["default"] = SideNav;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Copyright IBM Corp. 2016, 2023
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export { default as Content } from './Content';
8
+ export { default as Header } from './Header';
9
+ export { default as HeaderContainer } from './HeaderContainer';
10
+ export { default as HeaderGlobalAction } from './HeaderGlobalAction';
11
+ export { default as HeaderGlobalBar } from './HeaderGlobalBar';
12
+ export { default as HeaderMenu } from './HeaderMenu';
13
+ export { default as HeaderMenuButton } from './HeaderMenuButton';
14
+ export { default as HeaderMenuItem } from './HeaderMenuItem';
15
+ export { default as HeaderName } from './HeaderName';
16
+ export { default as HeaderNavigation } from './HeaderNavigation';
17
+ export { default as HeaderPanel } from './HeaderPanel';
18
+ export { default as HeaderSideNavItems } from './HeaderSideNavItems';
19
+ export { default as Switcher } from './Switcher';
20
+ export { default as SwitcherItem } from './SwitcherItem';
21
+ export { default as SwitcherDivider } from './SwitcherDivider';
22
+ export { default as SkipToContent } from './SkipToContent';
23
+ export { default as SideNav } from './SideNav';
24
+ export { default as SideNavDetails } from './SideNavDetails';
25
+ export { default as SideNavDivider } from './SideNavDivider';
26
+ export { default as SideNavFooter } from './SideNavFooter';
27
+ export { default as SideNavHeader } from './SideNavHeader';
28
+ export { default as SideNavIcon } from './SideNavIcon';
29
+ export { default as SideNavItem } from './SideNavItem';
30
+ export { default as SideNavItems } from './SideNavItems';
31
+ export { default as SideNavLink } from './SideNavLink';
32
+ export { default as SideNavLinkText } from './SideNavLinkText';
33
+ export { default as SideNavMenu } from './SideNavMenu';
34
+ export { default as SideNavMenuItem } from './SideNavMenuItem';
35
+ export { default as SideNavSwitcher } from './SideNavSwitcher';