@carbon/react 1.69.0 → 1.70.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.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +812 -812
- package/es/components/CheckboxGroup/CheckboxGroup.js +1 -1
- package/es/components/ComboBox/ComboBox.js +16 -8
- package/es/components/ComposedModal/ComposedModal.js +6 -2
- package/es/components/ContextMenu/index.d.ts +8 -0
- package/es/components/ContextMenu/useContextMenu.d.ts +21 -0
- package/es/components/ContextMenu/useContextMenu.js +9 -8
- package/es/components/DataTable/DataTable.d.ts +3 -2
- package/es/components/DataTable/Table.d.ts +9 -1
- package/es/components/DataTable/Table.js +7 -2
- package/es/components/DatePicker/DatePicker.js +0 -8
- package/es/components/DatePicker/plugins/appendToPlugin.js +2 -2
- package/es/components/DatePicker/plugins/fixEventsPlugin.js +2 -2
- package/es/components/DatePicker/plugins/rangePlugin.js +2 -2
- package/es/components/Dropdown/Dropdown.d.ts +2 -2
- package/es/components/FeatureFlags/index.d.ts +3 -1
- package/es/components/FeatureFlags/index.js +5 -2
- package/es/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -5
- package/es/components/FluidDropdown/FluidDropdown.Skeleton.d.ts +15 -0
- package/es/components/FluidDropdown/FluidDropdown.Skeleton.js +6 -8
- package/es/components/FluidDropdown/FluidDropdown.d.ts +101 -0
- package/es/components/FluidDropdown/FluidDropdown.js +1 -2
- package/es/components/FluidDropdown/index.d.ts +13 -0
- package/es/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -5
- package/es/components/FluidSelect/FluidSelect.Skeleton.js +5 -5
- package/es/components/FluidTextArea/FluidTextArea.Skeleton.d.ts +2 -13
- package/es/components/FluidTextArea/FluidTextArea.Skeleton.js +22 -5
- package/es/components/Notification/Notification.js +2 -6
- package/es/components/NumberInput/NumberInput.Skeleton.d.ts +9 -1
- package/es/components/NumberInput/NumberInput.Skeleton.js +7 -2
- package/es/components/OverflowMenu/OverflowMenu.js +1 -1
- package/es/components/Pagination/Pagination.js +1 -1
- package/es/components/Pagination/experimental/PageSelector.js +1 -1
- package/es/components/Popover/index.js +4 -2
- package/es/components/SkeletonText/SkeletonText.js +1 -1
- package/es/components/Tabs/Tabs.js +1 -1
- package/es/components/TreeView/TreeNode.js +1 -1
- package/es/components/TreeView/TreeView.js +1 -1
- package/es/components/UIShell/HeaderMenu.js +1 -1
- package/es/components/UIShell/HeaderPanel.js +1 -1
- package/es/components/UIShell/SideNav.js +1 -1
- package/es/components/UIShell/SideNavItems.js +1 -1
- package/es/components/UIShell/SideNavMenu.js +1 -1
- package/es/components/UIShell/Switcher.js +1 -1
- package/es/feature-flags.js +2 -1
- package/es/index.js +3 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js +1 -1
- package/lib/components/ComboBox/ComboBox.js +17 -8
- package/lib/components/ComposedModal/ComposedModal.js +6 -2
- package/lib/components/ContextMenu/index.d.ts +8 -0
- package/lib/components/ContextMenu/useContextMenu.d.ts +21 -0
- package/lib/components/ContextMenu/useContextMenu.js +9 -8
- package/lib/components/DataTable/DataTable.d.ts +3 -2
- package/lib/components/DataTable/Table.d.ts +9 -1
- package/lib/components/DataTable/Table.js +7 -2
- package/lib/components/DatePicker/DatePicker.js +0 -8
- package/lib/components/DatePicker/plugins/appendToPlugin.js +2 -2
- package/lib/components/DatePicker/plugins/fixEventsPlugin.js +2 -2
- package/lib/components/DatePicker/plugins/rangePlugin.js +2 -2
- package/lib/components/Dropdown/Dropdown.d.ts +2 -2
- package/lib/components/FeatureFlags/index.d.ts +3 -1
- package/lib/components/FeatureFlags/index.js +5 -2
- package/lib/components/FluidComboBox/FluidComboBox.Skeleton.js +5 -5
- package/lib/components/FluidDropdown/FluidDropdown.Skeleton.d.ts +15 -0
- package/lib/components/FluidDropdown/FluidDropdown.Skeleton.js +6 -8
- package/lib/components/FluidDropdown/FluidDropdown.d.ts +101 -0
- package/lib/components/FluidDropdown/FluidDropdown.js +1 -2
- package/lib/components/FluidDropdown/index.d.ts +13 -0
- package/lib/components/FluidMultiSelect/FluidMultiSelect.Skeleton.js +5 -5
- package/lib/components/FluidSelect/FluidSelect.Skeleton.js +5 -5
- package/lib/components/FluidTextArea/FluidTextArea.Skeleton.d.ts +2 -13
- package/lib/components/FluidTextArea/FluidTextArea.Skeleton.js +24 -5
- package/lib/components/Notification/Notification.js +2 -6
- package/lib/components/NumberInput/NumberInput.Skeleton.d.ts +9 -1
- package/lib/components/NumberInput/NumberInput.Skeleton.js +7 -2
- package/lib/components/OverflowMenu/OverflowMenu.js +1 -1
- package/lib/components/Pagination/Pagination.js +1 -1
- package/lib/components/Pagination/experimental/PageSelector.js +1 -1
- package/lib/components/Popover/index.js +4 -2
- package/lib/components/SkeletonText/SkeletonText.js +1 -1
- package/lib/components/Tabs/Tabs.js +1 -1
- package/lib/components/TreeView/TreeNode.js +1 -1
- package/lib/components/TreeView/TreeView.js +1 -1
- package/lib/components/UIShell/HeaderMenu.js +1 -1
- package/lib/components/UIShell/HeaderPanel.js +1 -1
- package/lib/components/UIShell/SideNav.js +1 -1
- package/lib/components/UIShell/SideNavItems.js +1 -1
- package/lib/components/UIShell/SideNavMenu.js +1 -1
- package/lib/components/UIShell/Switcher.js +1 -1
- package/lib/feature-flags.js +2 -1
- package/lib/index.js +6 -6
- package/package.json +6 -5
- package/telemetry.yml +765 -710
|
@@ -12,7 +12,7 @@ type ExcludedAttributes = 'id' | 'onChange';
|
|
|
12
12
|
export interface OnChangeData<ItemType> {
|
|
13
13
|
selectedItem: ItemType | null;
|
|
14
14
|
}
|
|
15
|
-
export interface DropdownProps<ItemType> extends Omit<ReactAttr<HTMLDivElement>, ExcludedAttributes>, TranslateWithId<ListBoxMenuIconTranslationKey> {
|
|
15
|
+
export interface DropdownProps<ItemType> extends Omit<ReactAttr<HTMLDivElement>, ExcludedAttributes>, TranslateWithId<ListBoxMenuIconTranslationKey>, React.RefAttributes<HTMLDivElement> {
|
|
16
16
|
/**
|
|
17
17
|
* Specify a label to be read by screen readers on the container node
|
|
18
18
|
* 'aria-label' of the ListBox component.
|
|
@@ -127,7 +127,7 @@ export interface DropdownProps<ItemType> extends Omit<ReactAttr<HTMLDivElement>,
|
|
|
127
127
|
* Provide the title text that will be read by a screen reader when
|
|
128
128
|
* visiting this control
|
|
129
129
|
*/
|
|
130
|
-
titleText
|
|
130
|
+
titleText: ReactNode;
|
|
131
131
|
/**
|
|
132
132
|
* The dropdown type, `default` or `inline`
|
|
133
133
|
*/
|
|
@@ -14,6 +14,7 @@ interface FeatureFlagsProps {
|
|
|
14
14
|
enableV12Overflowmenu?: boolean;
|
|
15
15
|
enableTreeviewControllable?: boolean;
|
|
16
16
|
enableExperimentalFocusWrapWithoutSentinels?: boolean;
|
|
17
|
+
enableV12DynamicFloatingStyles?: boolean;
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
20
|
* Our FeatureFlagContext is used alongside the FeatureFlags component to enable
|
|
@@ -25,7 +26,7 @@ declare const FeatureFlagContext: React.Context<any>;
|
|
|
25
26
|
* along with the current `FeatureFlagContext` to provide consumers to check if
|
|
26
27
|
* a feature flag is enabled or disabled in a given React tree
|
|
27
28
|
*/
|
|
28
|
-
declare function FeatureFlags({ children, flags, enableV12TileDefaultIcons, enableV12TileRadioIcons, enableV12Overflowmenu, enableTreeviewControllable, enableExperimentalFocusWrapWithoutSentinels, }: FeatureFlagsProps): JSX.Element;
|
|
29
|
+
declare function FeatureFlags({ children, flags, enableV12TileDefaultIcons, enableV12TileRadioIcons, enableV12Overflowmenu, enableTreeviewControllable, enableExperimentalFocusWrapWithoutSentinels, enableV12DynamicFloatingStyles, }: FeatureFlagsProps): JSX.Element;
|
|
29
30
|
declare namespace FeatureFlags {
|
|
30
31
|
var propTypes: {
|
|
31
32
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
@@ -38,6 +39,7 @@ declare namespace FeatureFlags {
|
|
|
38
39
|
enableV12Overflowmenu: PropTypes.Requireable<boolean>;
|
|
39
40
|
enableTreeviewControllable: PropTypes.Requireable<boolean>;
|
|
40
41
|
enableExperimentalFocusWrapWithoutSentinels: PropTypes.Requireable<boolean>;
|
|
42
|
+
enableV12DynamicFloatingStyles: PropTypes.Requireable<boolean>;
|
|
41
43
|
};
|
|
42
44
|
}
|
|
43
45
|
/**
|
|
@@ -38,7 +38,8 @@ function FeatureFlags(_ref) {
|
|
|
38
38
|
enableV12TileRadioIcons = false,
|
|
39
39
|
enableV12Overflowmenu = false,
|
|
40
40
|
enableTreeviewControllable = false,
|
|
41
|
-
enableExperimentalFocusWrapWithoutSentinels = false
|
|
41
|
+
enableExperimentalFocusWrapWithoutSentinels = false,
|
|
42
|
+
enableV12DynamicFloatingStyles = false
|
|
42
43
|
} = _ref;
|
|
43
44
|
const parentScope = React.useContext(FeatureFlagContext);
|
|
44
45
|
const [prevParentScope, setPrevParentScope] = React.useState(parentScope);
|
|
@@ -48,6 +49,7 @@ function FeatureFlags(_ref) {
|
|
|
48
49
|
'enable-v12-overflowmenu': enableV12Overflowmenu,
|
|
49
50
|
'enable-treeview-controllable': enableTreeviewControllable,
|
|
50
51
|
'enable-experimental-focus-wrap-without-sentinels': enableExperimentalFocusWrapWithoutSentinels,
|
|
52
|
+
'enable-v12-dynamic-floating-styles': enableV12DynamicFloatingStyles,
|
|
51
53
|
...flags
|
|
52
54
|
};
|
|
53
55
|
const [scope, updateScope] = React.useState(() => {
|
|
@@ -84,7 +86,8 @@ FeatureFlags.propTypes = {
|
|
|
84
86
|
enableV12TileRadioIcons: PropTypes__default["default"].bool,
|
|
85
87
|
enableV12Overflowmenu: PropTypes__default["default"].bool,
|
|
86
88
|
enableTreeviewControllable: PropTypes__default["default"].bool,
|
|
87
|
-
enableExperimentalFocusWrapWithoutSentinels: PropTypes__default["default"].bool
|
|
89
|
+
enableExperimentalFocusWrapWithoutSentinels: PropTypes__default["default"].bool,
|
|
90
|
+
enableV12DynamicFloatingStyles: PropTypes__default["default"].bool
|
|
88
91
|
};
|
|
89
92
|
|
|
90
93
|
/**
|
|
@@ -27,12 +27,12 @@ const FluidComboBoxSkeleton = _ref => {
|
|
|
27
27
|
...rest
|
|
28
28
|
} = _ref;
|
|
29
29
|
const prefix = usePrefix.usePrefix();
|
|
30
|
-
const wrapperClasses = cx__default["default"](className, `${prefix}--
|
|
31
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
32
|
-
className: `${prefix}--list-box__wrapper--fluid`
|
|
33
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
30
|
+
const wrapperClasses = cx__default["default"](className, `${prefix}--list-box__wrapper--fluid`);
|
|
31
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
34
32
|
className: wrapperClasses
|
|
35
|
-
}, rest), /*#__PURE__*/React__default["default"].createElement("
|
|
33
|
+
}, rest), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
34
|
+
className: `${prefix}--skeleton ${prefix}--list-box`
|
|
35
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
36
36
|
className: `${prefix}--list-box__label`
|
|
37
37
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
38
38
|
className: `${prefix}--list-box__field`
|
|
@@ -0,0 +1,15 @@
|
|
|
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 React from 'react';
|
|
8
|
+
export interface FluidDropdownSkeletonProps {
|
|
9
|
+
/**
|
|
10
|
+
* Specify an optional className to add.
|
|
11
|
+
*/
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
declare const FluidDropdownSkeleton: React.FC<FluidDropdownSkeletonProps>;
|
|
15
|
+
export default FluidDropdownSkeleton;
|
|
@@ -27,13 +27,12 @@ const FluidDropdownSkeleton = _ref => {
|
|
|
27
27
|
...rest
|
|
28
28
|
} = _ref;
|
|
29
29
|
const prefix = usePrefix.usePrefix();
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
33
|
-
className: wrapperContainerClasses
|
|
34
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
30
|
+
const wrapperClasses = cx__default["default"](className, `${prefix}--list-box__wrapper--fluid`);
|
|
31
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
35
32
|
className: wrapperClasses
|
|
36
|
-
}, rest), /*#__PURE__*/React__default["default"].createElement("
|
|
33
|
+
}, rest), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
34
|
+
className: `${prefix}--skeleton ${prefix}--list-box`
|
|
35
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
37
36
|
className: `${prefix}--list-box__label`
|
|
38
37
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
39
38
|
className: `${prefix}--list-box__field`
|
|
@@ -45,6 +44,5 @@ FluidDropdownSkeleton.propTypes = {
|
|
|
45
44
|
*/
|
|
46
45
|
className: PropTypes__default["default"].string
|
|
47
46
|
};
|
|
48
|
-
var FluidDropdownSkeleton$1 = FluidDropdownSkeleton;
|
|
49
47
|
|
|
50
|
-
exports["default"] = FluidDropdownSkeleton
|
|
48
|
+
exports["default"] = FluidDropdownSkeleton;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2022
|
|
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 React from 'react';
|
|
8
|
+
import { DropdownProps } from '../Dropdown';
|
|
9
|
+
export interface OnChangeData<ItemType> {
|
|
10
|
+
selectedItem: ItemType | null;
|
|
11
|
+
}
|
|
12
|
+
export interface FluidDropdownProps<ItemType> extends DropdownProps<ItemType> {
|
|
13
|
+
/**
|
|
14
|
+
* Specify an optional className to be applied to the outer FluidForm wrapper
|
|
15
|
+
*/
|
|
16
|
+
className?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Specify the direction of the dropdown. Can be either top or bottom.
|
|
19
|
+
*/
|
|
20
|
+
direction?: 'top' | 'bottom';
|
|
21
|
+
/**
|
|
22
|
+
* Specify whether the `<input>` should be disabled
|
|
23
|
+
*/
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Specify a custom `id` for the `<input>`
|
|
27
|
+
*/
|
|
28
|
+
id: string;
|
|
29
|
+
/**
|
|
30
|
+
* Allow users to pass in an arbitrary item or a string (in case their items are an array of strings)
|
|
31
|
+
* from their collection that are pre-selected
|
|
32
|
+
*/
|
|
33
|
+
initialSelectedItem?: ItemType;
|
|
34
|
+
/**
|
|
35
|
+
* Specify if the currently selected value is invalid.
|
|
36
|
+
*/
|
|
37
|
+
invalid?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Provide the text that is displayed when the control is in an invalid state
|
|
40
|
+
*/
|
|
41
|
+
invalidText?: React.ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* Specify if the `FluidDropdown` should render its menu items in condensed mode
|
|
44
|
+
*/
|
|
45
|
+
isCondensed?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Function to render items as custom components instead of strings.
|
|
48
|
+
* Defaults to null and is overridden by a getter
|
|
49
|
+
*/
|
|
50
|
+
itemToElement?: React.JSXElementConstructor<ItemType> | null;
|
|
51
|
+
/**
|
|
52
|
+
* Helper function passed to downshift that allows the library to render a
|
|
53
|
+
* given item to a string label. By default, it extracts the `label` field
|
|
54
|
+
* from a given item to serve as the item label in the list.
|
|
55
|
+
*/
|
|
56
|
+
itemToString?(item: ItemType | null): string;
|
|
57
|
+
/**
|
|
58
|
+
* We try to stay as generic as possible here to allow individuals to pass
|
|
59
|
+
* in a collection of whatever kind of data structure they prefer
|
|
60
|
+
*/
|
|
61
|
+
items: ItemType[];
|
|
62
|
+
/**
|
|
63
|
+
* Generic `label` that will be used as the textual representation of what
|
|
64
|
+
* this field is for
|
|
65
|
+
*/
|
|
66
|
+
label: NonNullable<React.ReactNode>;
|
|
67
|
+
/**
|
|
68
|
+
* `onChange` is a utility for this controlled component to communicate to a
|
|
69
|
+
* consuming component what kind of internal state changes are occurring.
|
|
70
|
+
*/
|
|
71
|
+
onChange?(data: OnChangeData<ItemType>): void;
|
|
72
|
+
/**
|
|
73
|
+
* An optional callback to render the currently selected item as a react element instead of only
|
|
74
|
+
* as a string.
|
|
75
|
+
*/
|
|
76
|
+
renderSelectedItem?(item: ItemType): React.ReactNode;
|
|
77
|
+
/**
|
|
78
|
+
* In the case you want to control the dropdown selection entirely.
|
|
79
|
+
* This value is the selected item from the list of items
|
|
80
|
+
*/
|
|
81
|
+
selectedItem?: ItemType;
|
|
82
|
+
/**
|
|
83
|
+
* Provide the title text that will be read by a screen reader when
|
|
84
|
+
* visiting this control
|
|
85
|
+
*/
|
|
86
|
+
titleText: React.ReactNode;
|
|
87
|
+
/**
|
|
88
|
+
* Callback function for translating ListBoxMenuIcon SVG title
|
|
89
|
+
*/
|
|
90
|
+
translateWithId?: (id: string) => string;
|
|
91
|
+
/**
|
|
92
|
+
* Specify whether the control is currently in warning state
|
|
93
|
+
*/
|
|
94
|
+
warn?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Provide the text that is displayed when the control is in warning state
|
|
97
|
+
*/
|
|
98
|
+
warnText?: React.ReactNode;
|
|
99
|
+
}
|
|
100
|
+
declare const FluidDropdown: React.ForwardRefExoticComponent<Omit<FluidDropdownProps<unknown>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
101
|
+
export default FluidDropdown;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2022
|
|
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 FluidDropdown from './FluidDropdown';
|
|
8
|
+
import { type FluidDropdownProps } from './FluidDropdown';
|
|
9
|
+
import { type FluidDropdownSkeletonProps } from './FluidDropdown.Skeleton';
|
|
10
|
+
export type { FluidDropdownProps, FluidDropdownSkeletonProps };
|
|
11
|
+
export default FluidDropdown;
|
|
12
|
+
export { FluidDropdown };
|
|
13
|
+
export { default as FluidDropdownSkeleton } from './FluidDropdown.Skeleton';
|
|
@@ -27,12 +27,12 @@ const FluidMultiSelectSkeleton = _ref => {
|
|
|
27
27
|
...rest
|
|
28
28
|
} = _ref;
|
|
29
29
|
const prefix = usePrefix.usePrefix();
|
|
30
|
-
const wrapperClasses = cx__default["default"](className, `${prefix}--
|
|
31
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
32
|
-
className: `${prefix}--list-box__wrapper--fluid`
|
|
33
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
30
|
+
const wrapperClasses = cx__default["default"](className, `${prefix}--list-box__wrapper--fluid`);
|
|
31
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
34
32
|
className: wrapperClasses
|
|
35
|
-
}, rest), /*#__PURE__*/React__default["default"].createElement("
|
|
33
|
+
}, rest), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
34
|
+
className: `${prefix}--skeleton ${prefix}--list-box`
|
|
35
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
36
36
|
className: `${prefix}--list-box__label`
|
|
37
37
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
38
38
|
className: `${prefix}--list-box__field`
|
|
@@ -27,12 +27,12 @@ const FluidSelectSkeleton = _ref => {
|
|
|
27
27
|
...rest
|
|
28
28
|
} = _ref;
|
|
29
29
|
const prefix = usePrefix.usePrefix();
|
|
30
|
-
const wrapperClasses = cx__default["default"](className, `${prefix}--
|
|
31
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
32
|
-
className: `${prefix}--list-box__wrapper--fluid`
|
|
33
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
30
|
+
const wrapperClasses = cx__default["default"](className, `${prefix}--list-box__wrapper--fluid`);
|
|
31
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
34
32
|
className: wrapperClasses
|
|
35
|
-
}, rest), /*#__PURE__*/React__default["default"].createElement("
|
|
33
|
+
}, rest), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
34
|
+
className: `${prefix}--skeleton ${prefix}--list-box`
|
|
35
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
36
36
|
className: `${prefix}--list-box__label`
|
|
37
37
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
38
38
|
className: `${prefix}--list-box__field`
|
|
@@ -1,20 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
export interface FluidTextAreaSkeletonProps {
|
|
3
3
|
/**
|
|
4
4
|
* Specify an optional className to be applied to the outer FluidForm wrapper
|
|
5
5
|
*/
|
|
6
6
|
className?: string;
|
|
7
7
|
}
|
|
8
|
-
declare
|
|
9
|
-
[x: string]: any;
|
|
10
|
-
className: any;
|
|
11
|
-
}): void;
|
|
12
|
-
declare namespace FluidTextAreaSkeleton {
|
|
13
|
-
var propTypes: {
|
|
14
|
-
/**
|
|
15
|
-
* Specify an optional className to be applied to the outer FluidForm wrapper
|
|
16
|
-
*/
|
|
17
|
-
className: PropTypes.Requireable<string>;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
8
|
+
declare const FluidTextAreaSkeleton: React.FC<FluidTextAreaSkeletonProps>;
|
|
20
9
|
export default FluidTextAreaSkeleton;
|
|
@@ -9,18 +9,37 @@
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
11
|
|
|
12
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
12
13
|
var PropTypes = require('prop-types');
|
|
13
|
-
require('react');
|
|
14
|
-
require('classnames');
|
|
14
|
+
var React = require('react');
|
|
15
|
+
var cx = require('classnames');
|
|
15
16
|
var usePrefix = require('../../internal/usePrefix.js');
|
|
17
|
+
var FormContext = require('../FluidForm/FormContext.js');
|
|
16
18
|
|
|
17
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
20
|
|
|
19
21
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
22
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
23
|
+
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
20
24
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
const FluidTextAreaSkeleton = _ref => {
|
|
26
|
+
let {
|
|
27
|
+
className,
|
|
28
|
+
...other
|
|
29
|
+
} = _ref;
|
|
30
|
+
const prefix = usePrefix.usePrefix();
|
|
31
|
+
return /*#__PURE__*/React__default["default"].createElement(FormContext.FormContext.Provider, {
|
|
32
|
+
value: {
|
|
33
|
+
isFluid: true
|
|
34
|
+
}
|
|
35
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
|
36
|
+
className: cx__default["default"](`${prefix}--form-item ${prefix}--text-area--fluid__skeleton`, className)
|
|
37
|
+
}, other), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
38
|
+
className: `${prefix}--label ${prefix}--skeleton`
|
|
39
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
40
|
+
className: `${prefix}--skeleton ${prefix}--text-area`
|
|
41
|
+
})));
|
|
42
|
+
};
|
|
24
43
|
FluidTextAreaSkeleton.propTypes = {
|
|
25
44
|
/**
|
|
26
45
|
* Specify an optional className to be applied to the outer FluidForm wrapper
|
|
@@ -288,9 +288,7 @@ function ToastNotification(_ref4) {
|
|
|
288
288
|
}, caption), children), !hideCloseButton && /*#__PURE__*/React__default["default"].createElement(NotificationButton, {
|
|
289
289
|
notificationType: "toast",
|
|
290
290
|
onClick: handleCloseButtonClick,
|
|
291
|
-
"aria-
|
|
292
|
-
"aria-label": deprecatedAriaLabel || ariaLabel,
|
|
293
|
-
tabIndex: -1
|
|
291
|
+
"aria-label": deprecatedAriaLabel || ariaLabel
|
|
294
292
|
}));
|
|
295
293
|
}
|
|
296
294
|
ToastNotification.propTypes = {
|
|
@@ -425,9 +423,7 @@ function InlineNotification(_ref5) {
|
|
|
425
423
|
}, subtitle), children)), !hideCloseButton && /*#__PURE__*/React__default["default"].createElement(NotificationButton, {
|
|
426
424
|
notificationType: "inline",
|
|
427
425
|
onClick: handleCloseButtonClick,
|
|
428
|
-
"aria-
|
|
429
|
-
"aria-label": ariaLabel,
|
|
430
|
-
tabIndex: -1
|
|
426
|
+
"aria-label": ariaLabel
|
|
431
427
|
}));
|
|
432
428
|
}
|
|
433
429
|
InlineNotification.propTypes = {
|
|
@@ -15,8 +15,12 @@ export interface NumberInputSkeletonProps extends HTMLAttributes<HTMLDivElement>
|
|
|
15
15
|
* Specify whether the label should be hidden, or not
|
|
16
16
|
*/
|
|
17
17
|
hideLabel?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Specify the size of the Number Input.
|
|
20
|
+
*/
|
|
21
|
+
size?: 'sm' | 'md' | 'lg';
|
|
18
22
|
}
|
|
19
|
-
declare function NumberInputSkeleton({ hideLabel, className, ...rest }: NumberInputSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare function NumberInputSkeleton({ hideLabel, className, size, ...rest }: NumberInputSkeletonProps): import("react/jsx-runtime").JSX.Element;
|
|
20
24
|
declare namespace NumberInputSkeleton {
|
|
21
25
|
var propTypes: {
|
|
22
26
|
/**
|
|
@@ -27,6 +31,10 @@ declare namespace NumberInputSkeleton {
|
|
|
27
31
|
* Specify whether the label should be hidden, or not
|
|
28
32
|
*/
|
|
29
33
|
hideLabel: PropTypes.Requireable<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* Specify the size of the Number Input.
|
|
36
|
+
*/
|
|
37
|
+
size: PropTypes.Requireable<string>;
|
|
30
38
|
};
|
|
31
39
|
}
|
|
32
40
|
export default NumberInputSkeleton;
|
|
@@ -25,6 +25,7 @@ function NumberInputSkeleton(_ref) {
|
|
|
25
25
|
let {
|
|
26
26
|
hideLabel,
|
|
27
27
|
className,
|
|
28
|
+
size = 'md',
|
|
28
29
|
...rest
|
|
29
30
|
} = _ref;
|
|
30
31
|
const prefix = usePrefix.usePrefix();
|
|
@@ -33,7 +34,7 @@ function NumberInputSkeleton(_ref) {
|
|
|
33
34
|
}, rest), !hideLabel && /*#__PURE__*/React__default["default"].createElement("span", {
|
|
34
35
|
className: `${prefix}--label ${prefix}--skeleton`
|
|
35
36
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
36
|
-
className: `${prefix}--number ${prefix}--skeleton`
|
|
37
|
+
className: `${prefix}--number ${prefix}--skeleton ${prefix}--number--${size}`
|
|
37
38
|
}));
|
|
38
39
|
}
|
|
39
40
|
NumberInputSkeleton.propTypes = {
|
|
@@ -44,7 +45,11 @@ NumberInputSkeleton.propTypes = {
|
|
|
44
45
|
/**
|
|
45
46
|
* Specify whether the label should be hidden, or not
|
|
46
47
|
*/
|
|
47
|
-
hideLabel: PropTypes__default["default"].bool
|
|
48
|
+
hideLabel: PropTypes__default["default"].bool,
|
|
49
|
+
/**
|
|
50
|
+
* Specify the size of the Number Input.
|
|
51
|
+
*/
|
|
52
|
+
size: PropTypes__default["default"].oneOf(['sm', 'md', 'lg'])
|
|
48
53
|
};
|
|
49
54
|
|
|
50
55
|
exports["default"] = NumberInputSkeleton;
|
|
@@ -217,7 +217,7 @@ class OverflowMenu extends React__default["default"].Component {
|
|
|
217
217
|
direction
|
|
218
218
|
} = _ref;
|
|
219
219
|
const enabledIndices = React__default["default"].Children.toArray(this.props.children).reduce((acc, curr, i) => {
|
|
220
|
-
if (
|
|
220
|
+
if (/*#__PURE__*/React__default["default"].isValidElement(curr) && !curr.props.disabled) {
|
|
221
221
|
acc.push(i);
|
|
222
222
|
}
|
|
223
223
|
return acc;
|
|
@@ -39,7 +39,7 @@ function renderSelectItems(total) {
|
|
|
39
39
|
let counter = 1;
|
|
40
40
|
const itemArr = [];
|
|
41
41
|
while (counter <= total) {
|
|
42
|
-
itemArr.push(
|
|
42
|
+
itemArr.push(/*#__PURE__*/React__default["default"].createElement(SelectItem["default"], {
|
|
43
43
|
key: counter,
|
|
44
44
|
value: counter,
|
|
45
45
|
text: String(counter)
|
|
@@ -40,7 +40,7 @@ function PageSelector(_ref) {
|
|
|
40
40
|
const renderPages = total => {
|
|
41
41
|
const pages = [];
|
|
42
42
|
for (let counter = 1; counter <= total; counter += 1) {
|
|
43
|
-
pages.push(
|
|
43
|
+
pages.push(/*#__PURE__*/React__default["default"].createElement(SelectItem["default"], {
|
|
44
44
|
key: counter,
|
|
45
45
|
value: counter,
|
|
46
46
|
text: String(counter)
|
|
@@ -138,6 +138,8 @@ const Popover = /*#__PURE__*/React__default["default"].forwardRef(function Popov
|
|
|
138
138
|
strategy: 'fixed',
|
|
139
139
|
// Middleware order matters, arrow should be last
|
|
140
140
|
middleware: [react.offset(!isTabTip ? popoverDimensions?.current?.offset : 0), autoAlign && react.flip({
|
|
141
|
+
fallbackPlacements: align.includes('bottom') ? ['bottom', 'bottom-start', 'bottom-end', 'right', 'right-start', 'right-end', 'left', 'left-start', 'left-end', 'top', 'top-start', 'top-end'] : ['top', 'top-start', 'top-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end'],
|
|
142
|
+
fallbackStrategy: 'initialPlacement',
|
|
141
143
|
fallbackAxisSideDirection: 'start'
|
|
142
144
|
}), react.arrow({
|
|
143
145
|
element: caretRef
|
|
@@ -221,7 +223,7 @@ const Popover = /*#__PURE__*/React__default["default"].forwardRef(function Popov
|
|
|
221
223
|
const isTriggerElement = item?.type === 'button';
|
|
222
224
|
const isTriggerComponent = enableFloatingStyles && displayName && ['ToggletipButton'].includes(displayName);
|
|
223
225
|
const isAllowedTriggerComponent = enableFloatingStyles && !['ToggletipContent', 'PopoverContent'].includes(displayName);
|
|
224
|
-
if (
|
|
226
|
+
if (/*#__PURE__*/React__default["default"].isValidElement(item) && (isTriggerElement || isTriggerComponent || isAllowedTriggerComponent)) {
|
|
225
227
|
const className = item?.props?.className;
|
|
226
228
|
const ref = (item?.props).ref;
|
|
227
229
|
const tabTipClasses = cx__default["default"](`${prefix}--popover--tab-tip__button`, className);
|
|
@@ -344,7 +346,7 @@ Popover.propTypes = {
|
|
|
344
346
|
*/
|
|
345
347
|
open: PropTypes__default["default"].bool.isRequired
|
|
346
348
|
};
|
|
347
|
-
function PopoverContentRenderFunction(
|
|
349
|
+
function PopoverContentRenderFunction(// eslint-disable-next-line react/prop-types
|
|
348
350
|
_ref2, forwardRef) {
|
|
349
351
|
let {
|
|
350
352
|
className,
|
|
@@ -66,7 +66,7 @@ const SkeletonText = _ref => {
|
|
|
66
66
|
}, [lineCountNumber, paragraph, refs, width, widthNum, widthPercent, widthPx]);
|
|
67
67
|
const lines = [];
|
|
68
68
|
for (let i = 0; i < lineCountNumber; i++) {
|
|
69
|
-
lines.push(
|
|
69
|
+
lines.push(/*#__PURE__*/React__default["default"].createElement("p", _rollupPluginBabelHelpers["extends"]({
|
|
70
70
|
className: skeletonTextClasses,
|
|
71
71
|
key: i,
|
|
72
72
|
ref: el => refs.current = [...refs.current, el]
|
|
@@ -1195,7 +1195,7 @@ function TabPanels(_ref13) {
|
|
|
1195
1195
|
}
|
|
1196
1196
|
});
|
|
1197
1197
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].Children.map(children, (child, index) => {
|
|
1198
|
-
return /*#__PURE__*/React__default["default"].createElement(TabPanelContext.Provider, {
|
|
1198
|
+
return !reactIs.isElement(child) ? null : /*#__PURE__*/React__default["default"].createElement(TabPanelContext.Provider, {
|
|
1199
1199
|
value: index
|
|
1200
1200
|
}, /*#__PURE__*/React__default["default"].cloneElement(child, {
|
|
1201
1201
|
ref: element => {
|
|
@@ -73,7 +73,7 @@ const TreeNode = /*#__PURE__*/React__default["default"].forwardRef((_ref, forwar
|
|
|
73
73
|
}
|
|
74
74
|
};
|
|
75
75
|
const nodesWithProps = React__default["default"].Children.map(children, node => {
|
|
76
|
-
if (
|
|
76
|
+
if (/*#__PURE__*/React__default["default"].isValidElement(node)) {
|
|
77
77
|
return /*#__PURE__*/React__default["default"].cloneElement(node, {
|
|
78
78
|
active,
|
|
79
79
|
depth: depth + 1,
|
|
@@ -131,7 +131,7 @@ const TreeView = _ref => {
|
|
|
131
131
|
sharedNodeProps.tabIndex = 0;
|
|
132
132
|
focusTarget = true;
|
|
133
133
|
}
|
|
134
|
-
if (
|
|
134
|
+
if (/*#__PURE__*/React__default["default"].isValidElement(node)) {
|
|
135
135
|
return /*#__PURE__*/React__default["default"].cloneElement(node, sharedNodeProps);
|
|
136
136
|
}
|
|
137
137
|
});
|
|
@@ -134,7 +134,7 @@ class HeaderMenu extends React__default["default"].Component {
|
|
|
134
134
|
* sequence when they might not want to go through all the items.
|
|
135
135
|
*/
|
|
136
136
|
_rollupPluginBabelHelpers.defineProperty(this, "_renderMenuItem", (item, index) => {
|
|
137
|
-
if (
|
|
137
|
+
if (/*#__PURE__*/React__default["default"].isValidElement(item)) {
|
|
138
138
|
return /*#__PURE__*/React__default["default"].cloneElement(item, {
|
|
139
139
|
ref: this.handleItemRef(index)
|
|
140
140
|
});
|
|
@@ -72,7 +72,7 @@ const HeaderPanel = /*#__PURE__*/React__default["default"].forwardRef(function H
|
|
|
72
72
|
const focusedElement = document.activeElement;
|
|
73
73
|
setLastClickedElement(focusedElement);
|
|
74
74
|
const childJsxElement = children;
|
|
75
|
-
if (childJsxElement
|
|
75
|
+
if (childJsxElement?.type?.displayName === 'Switcher' && !focusedElement?.closest(`.${prefix}--header-panel--expanded`) && !focusedElement?.closest(`.${prefix}--header__action`) && !headerPanelReference?.current?.classList.contains(`${prefix}--switcher`) && expanded) {
|
|
76
76
|
setExpandedState(false);
|
|
77
77
|
onHeaderPanelFocus();
|
|
78
78
|
}
|
|
@@ -106,7 +106,7 @@ function SideNavRenderFunction(_ref, ref) {
|
|
|
106
106
|
childrenToRender = React__default["default"].Children.map(children, child => {
|
|
107
107
|
// if we are controlled, check for if we have hovered over or the expanded state, else just use the expanded state (uncontrolled)
|
|
108
108
|
const currentExpansionState = controlled ? expandedViaHoverState || expanded : expanded;
|
|
109
|
-
if (
|
|
109
|
+
if (/*#__PURE__*/React.isValidElement(child)) {
|
|
110
110
|
const childJsxElement = child;
|
|
111
111
|
// avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
|
|
112
112
|
return /*#__PURE__*/React__default["default"].cloneElement(childJsxElement, {
|
|
@@ -30,7 +30,7 @@ const SideNavItems = _ref => {
|
|
|
30
30
|
const prefix = usePrefix.usePrefix();
|
|
31
31
|
const className = cx__default["default"]([`${prefix}--side-nav__items`], customClassName);
|
|
32
32
|
const childrenWithExpandedState = React__default["default"].Children.map(children, child => {
|
|
33
|
-
if (
|
|
33
|
+
if (/*#__PURE__*/React__default["default"].isValidElement(child)) {
|
|
34
34
|
// avoid spreading `isSideNavExpanded` to non-Carbon UI Shell children
|
|
35
35
|
const childDisplayName = child.type?.displayName;
|
|
36
36
|
return /*#__PURE__*/React__default["default"].cloneElement(child, {
|
|
@@ -158,7 +158,7 @@ function hasActiveDescendant(children) {
|
|
|
158
158
|
|
|
159
159
|
// We use React.isValidElement(child) to check if the child is a valid React element before accessing its props
|
|
160
160
|
|
|
161
|
-
if (
|
|
161
|
+
if (/*#__PURE__*/React__default["default"].isValidElement(children)) {
|
|
162
162
|
const props = children.props;
|
|
163
163
|
if (props.isActive === true || props['aria-current']) {
|
|
164
164
|
return true;
|
|
@@ -72,7 +72,7 @@ const Switcher = /*#__PURE__*/React.forwardRef(function Switcher(props, forwardR
|
|
|
72
72
|
};
|
|
73
73
|
const childrenWithProps = React__default["default"].Children.toArray(children).map((child, index) => {
|
|
74
74
|
// only setup click handlers if onChange event is passed
|
|
75
|
-
if (
|
|
75
|
+
if (/*#__PURE__*/React__default["default"].isValidElement(child) && child.type && getDisplayName["default"](child.type) === 'Switcher') {
|
|
76
76
|
return /*#__PURE__*/React__default["default"].cloneElement(child, {
|
|
77
77
|
handleSwitcherItemFocus,
|
|
78
78
|
index,
|
package/lib/feature-flags.js
CHANGED
|
@@ -35,5 +35,6 @@ FeatureFlags__namespace.merge({
|
|
|
35
35
|
'enable-v11-release': true,
|
|
36
36
|
'enable-experimental-tile-contrast': false,
|
|
37
37
|
'enable-v12-tile-radio-icons': false,
|
|
38
|
-
'enable-v12-structured-list-visible-icons': false
|
|
38
|
+
'enable-v12-structured-list-visible-icons': false,
|
|
39
|
+
'enable-v12-dynamic-floating-styles': false
|
|
39
40
|
});
|