@patternfly/react-core 4.202.22 → 4.202.25
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/CHANGELOG.md +27 -0
- package/dist/esm/components/DataList/DataListCheck.d.ts +6 -2
- package/dist/esm/components/DataList/DataListCheck.d.ts.map +1 -1
- package/dist/esm/components/DataList/DataListCheck.js +1 -1
- package/dist/esm/components/DataList/DataListCheck.js.map +1 -1
- package/dist/esm/components/DescriptionList/DescriptionListGroup.d.ts +1 -1
- package/dist/esm/components/DescriptionList/DescriptionListGroup.d.ts.map +1 -1
- package/dist/esm/components/DescriptionList/DescriptionListGroup.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerActions.d.ts +1 -1
- package/dist/esm/components/Drawer/DrawerActions.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerActions.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerCloseButton.d.ts +1 -1
- package/dist/esm/components/Drawer/DrawerCloseButton.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerCloseButton.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerContent.d.ts +1 -1
- package/dist/esm/components/Drawer/DrawerContent.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerContent.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerContentBody.d.ts +1 -1
- package/dist/esm/components/Drawer/DrawerContentBody.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerContentBody.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerHead.d.ts +1 -1
- package/dist/esm/components/Drawer/DrawerHead.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerHead.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerMain.d.ts +1 -1
- package/dist/esm/components/Drawer/DrawerMain.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerMain.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerPanelBody.d.ts +1 -1
- package/dist/esm/components/Drawer/DrawerPanelBody.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerPanelBody.js.map +1 -1
- package/dist/esm/components/Drawer/DrawerSection.d.ts +1 -1
- package/dist/esm/components/Drawer/DrawerSection.d.ts.map +1 -1
- package/dist/esm/components/Drawer/DrawerSection.js.map +1 -1
- package/dist/esm/components/Dropdown/BadgeToggle.js +1 -1
- package/dist/esm/components/Dropdown/BadgeToggle.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.js +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownSeparator.js +1 -1
- package/dist/esm/components/Dropdown/DropdownSeparator.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownToggle.js +1 -1
- package/dist/esm/components/Dropdown/DropdownToggle.js.map +1 -1
- package/dist/esm/components/Dropdown/KebabToggle.js +1 -1
- package/dist/esm/components/Dropdown/KebabToggle.js.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelector.d.ts +1 -3
- package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
- package/dist/esm/components/DualListSelector/DualListSelector.js +25 -23
- package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuContent.d.ts +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuContent.d.ts.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuContent.js.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuControl.d.ts +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuControl.d.ts.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuControl.js.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.d.ts +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.d.ts.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.js.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuGroup.d.ts +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuGroup.d.ts.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuGroup.js.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuItem.d.ts +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuItem.d.ts.map +1 -1
- package/dist/esm/components/OverflowMenu/OverflowMenuItem.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +2 -0
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +3 -3
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/SelectToggle.d.ts +2 -0
- package/dist/esm/components/Select/SelectToggle.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectToggle.js +6 -5
- package/dist/esm/components/Select/SelectToggle.js.map +1 -1
- package/dist/esm/components/Tabs/TabContent.js.map +1 -1
- package/dist/js/components/DataList/DataListCheck.d.ts +6 -2
- package/dist/js/components/DataList/DataListCheck.d.ts.map +1 -1
- package/dist/js/components/DataList/DataListCheck.js +1 -1
- package/dist/js/components/DataList/DataListCheck.js.map +1 -1
- package/dist/js/components/DescriptionList/DescriptionListGroup.d.ts +1 -1
- package/dist/js/components/DescriptionList/DescriptionListGroup.d.ts.map +1 -1
- package/dist/js/components/DescriptionList/DescriptionListGroup.js.map +1 -1
- package/dist/js/components/Drawer/DrawerActions.d.ts +1 -1
- package/dist/js/components/Drawer/DrawerActions.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerActions.js.map +1 -1
- package/dist/js/components/Drawer/DrawerCloseButton.d.ts +1 -1
- package/dist/js/components/Drawer/DrawerCloseButton.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerCloseButton.js.map +1 -1
- package/dist/js/components/Drawer/DrawerContent.d.ts +1 -1
- package/dist/js/components/Drawer/DrawerContent.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerContent.js.map +1 -1
- package/dist/js/components/Drawer/DrawerContentBody.d.ts +1 -1
- package/dist/js/components/Drawer/DrawerContentBody.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerContentBody.js.map +1 -1
- package/dist/js/components/Drawer/DrawerHead.d.ts +1 -1
- package/dist/js/components/Drawer/DrawerHead.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerHead.js.map +1 -1
- package/dist/js/components/Drawer/DrawerMain.d.ts +1 -1
- package/dist/js/components/Drawer/DrawerMain.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerMain.js.map +1 -1
- package/dist/js/components/Drawer/DrawerPanelBody.d.ts +1 -1
- package/dist/js/components/Drawer/DrawerPanelBody.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerPanelBody.js.map +1 -1
- package/dist/js/components/Drawer/DrawerSection.d.ts +1 -1
- package/dist/js/components/Drawer/DrawerSection.d.ts.map +1 -1
- package/dist/js/components/Drawer/DrawerSection.js.map +1 -1
- package/dist/js/components/Dropdown/BadgeToggle.js +1 -1
- package/dist/js/components/Dropdown/BadgeToggle.js.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +1 -1
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownItem.js +1 -1
- package/dist/js/components/Dropdown/DropdownItem.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownSeparator.js +1 -1
- package/dist/js/components/Dropdown/DropdownSeparator.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownToggle.js +1 -1
- package/dist/js/components/Dropdown/DropdownToggle.js.map +1 -1
- package/dist/js/components/Dropdown/KebabToggle.js +1 -1
- package/dist/js/components/Dropdown/KebabToggle.js.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelector.d.ts +1 -3
- package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
- package/dist/js/components/DualListSelector/DualListSelector.js +25 -23
- package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuContent.d.ts +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuContent.d.ts.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuContent.js.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuControl.d.ts +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuControl.d.ts.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuControl.js.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.d.ts +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.d.ts.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.js.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuGroup.d.ts +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuGroup.d.ts.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuGroup.js.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuItem.d.ts +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuItem.d.ts.map +1 -1
- package/dist/js/components/OverflowMenu/OverflowMenuItem.js.map +1 -1
- package/dist/js/components/Select/Select.d.ts +2 -0
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js +3 -3
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Select/SelectToggle.d.ts +2 -0
- package/dist/js/components/Select/SelectToggle.d.ts.map +1 -1
- package/dist/js/components/Select/SelectToggle.js +6 -5
- package/dist/js/components/Select/SelectToggle.js.map +1 -1
- package/dist/js/components/Tabs/TabContent.js.map +1 -1
- package/dist/styles/base.css +5 -0
- package/dist/umd/react-core.css +3 -3
- package/dist/umd/react-core.js +41 -38
- package/dist/umd/react-core.min.css +72 -72
- package/dist/umd/react-core.min.js +1 -1
- package/package.json +6 -6
- package/src/components/DataList/DataListCheck.tsx +8 -3
- package/src/components/DescriptionList/DescriptionListGroup.tsx +1 -1
- package/src/components/Drawer/DrawerActions.tsx +1 -1
- package/src/components/Drawer/DrawerCloseButton.tsx +1 -1
- package/src/components/Drawer/DrawerContent.tsx +1 -1
- package/src/components/Drawer/DrawerContentBody.tsx +1 -1
- package/src/components/Drawer/DrawerHead.tsx +1 -1
- package/src/components/Drawer/DrawerMain.tsx +1 -1
- package/src/components/Drawer/DrawerPanelBody.tsx +1 -1
- package/src/components/Drawer/DrawerSection.tsx +1 -1
- package/src/components/Dropdown/BadgeToggle.tsx +1 -1
- package/src/components/Dropdown/Dropdown.tsx +1 -1
- package/src/components/Dropdown/DropdownItem.tsx +1 -1
- package/src/components/Dropdown/DropdownSeparator.tsx +1 -1
- package/src/components/Dropdown/DropdownToggle.tsx +1 -1
- package/src/components/Dropdown/KebabToggle.tsx +1 -1
- package/src/components/DualListSelector/DualListSelector.tsx +26 -23
- package/src/components/OverflowMenu/OverflowMenuContent.tsx +1 -1
- package/src/components/OverflowMenu/OverflowMenuControl.tsx +1 -1
- package/src/components/OverflowMenu/OverflowMenuDropdownItem.tsx +1 -1
- package/src/components/OverflowMenu/OverflowMenuGroup.tsx +1 -1
- package/src/components/OverflowMenu/OverflowMenuItem.tsx +1 -1
- package/src/components/Select/Select.tsx +4 -0
- package/src/components/Select/SelectToggle.tsx +10 -2
- package/src/components/Tabs/TabContent.tsx +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "4.202.
|
|
3
|
+
"version": "4.202.25",
|
|
4
4
|
"description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -34,16 +34,16 @@
|
|
|
34
34
|
"generate": "node scripts/copyStyles.js"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@patternfly/react-icons": "^4.53.
|
|
38
|
-
"@patternfly/react-styles": "^4.52.
|
|
39
|
-
"@patternfly/react-tokens": "^4.54.
|
|
37
|
+
"@patternfly/react-icons": "^4.53.25",
|
|
38
|
+
"@patternfly/react-styles": "^4.52.25",
|
|
39
|
+
"@patternfly/react-tokens": "^4.54.25",
|
|
40
40
|
"focus-trap": "6.2.2",
|
|
41
41
|
"react-dropzone": "9.0.0",
|
|
42
42
|
"tippy.js": "5.1.2",
|
|
43
43
|
"tslib": "^2.0.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@patternfly/patternfly": "4.
|
|
46
|
+
"@patternfly/patternfly": "4.186.0",
|
|
47
47
|
"@rollup/plugin-commonjs": "^21.0.0",
|
|
48
48
|
"@rollup/plugin-node-resolve": "^13.0.0",
|
|
49
49
|
"@rollup/plugin-replace": "^3.0.0",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"react": "^16.8.0 || ^17.0.0",
|
|
61
61
|
"react-dom": "^16.8.0 || ^17.0.0"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "f4aec59972ec2640390a7b52697920440c90e771"
|
|
64
64
|
}
|
|
@@ -9,9 +9,13 @@ export interface DataListCheckProps extends Omit<React.HTMLProps<HTMLInputElemen
|
|
|
9
9
|
isValid?: boolean;
|
|
10
10
|
/** Flag to show if the DataList checkbox is disabled */
|
|
11
11
|
isDisabled?: boolean;
|
|
12
|
-
/** Flag to show if the DataList checkbox is checked
|
|
12
|
+
/** Flag to show if the DataList checkbox is checked when it is controlled by React state.
|
|
13
|
+
* To make the DataList checkbox uncontrolled, instead use the checked prop, but do not use both.
|
|
14
|
+
*/
|
|
13
15
|
isChecked?: boolean;
|
|
14
|
-
/** Flag to set default value of DataList checkbox when it is uncontrolled by React state
|
|
16
|
+
/** Flag to set default value of DataList checkbox when it is uncontrolled by React state.
|
|
17
|
+
* To make the DataList checkbox controlled, instead use the isChecked prop, but do not use both.
|
|
18
|
+
*/
|
|
15
19
|
checked?: boolean;
|
|
16
20
|
/** A callback for when the DataList checkbox selection changes */
|
|
17
21
|
onChange?: (checked: boolean, event: React.FormEvent<HTMLInputElement>) => void;
|
|
@@ -40,7 +44,8 @@ export const DataListCheck: React.FunctionComponent<DataListCheckProps> = ({
|
|
|
40
44
|
onChange={event => onChange(event.currentTarget.checked, event)}
|
|
41
45
|
aria-invalid={!isValid}
|
|
42
46
|
disabled={isDisabled}
|
|
43
|
-
checked
|
|
47
|
+
{...(checked !== null && { defaultChecked: checked })}
|
|
48
|
+
{...(isChecked !== null && { checked: isChecked })}
|
|
44
49
|
/>
|
|
45
50
|
</div>
|
|
46
51
|
);
|
|
@@ -9,7 +9,7 @@ export interface DescriptionListGroupProps extends React.HTMLProps<HTMLDivElemen
|
|
|
9
9
|
className?: string;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export const DescriptionListGroup: React.
|
|
12
|
+
export const DescriptionListGroup: React.FunctionComponent<DescriptionListGroupProps> = ({
|
|
13
13
|
className,
|
|
14
14
|
children,
|
|
15
15
|
...props
|
|
@@ -9,7 +9,7 @@ export interface DrawerActionsProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
9
9
|
children?: React.ReactNode;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export const DrawerActions: React.
|
|
12
|
+
export const DrawerActions: React.FunctionComponent<DrawerActionsProps> = ({
|
|
13
13
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
14
|
className = '',
|
|
15
15
|
children,
|
|
@@ -13,7 +13,7 @@ export interface DrawerCloseButtonProps extends React.HTMLProps<HTMLDivElement>
|
|
|
13
13
|
'aria-label'?: string;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export const DrawerCloseButton: React.
|
|
16
|
+
export const DrawerCloseButton: React.FunctionComponent<DrawerCloseButtonProps> = ({
|
|
17
17
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18
18
|
className = '',
|
|
19
19
|
onClose = () => undefined as any,
|
|
@@ -15,7 +15,7 @@ export interface DrawerContentProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
15
15
|
colorVariant?: DrawerColorVariant | 'light-200' | 'default';
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export const DrawerContent: React.
|
|
18
|
+
export const DrawerContent: React.FunctionComponent<DrawerContentProps> = ({
|
|
19
19
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
20
20
|
className = '',
|
|
21
21
|
children,
|
|
@@ -11,7 +11,7 @@ export interface DrawerContentBodyProps extends React.HTMLProps<HTMLDivElement>
|
|
|
11
11
|
hasPadding?: boolean;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export const DrawerContentBody: React.
|
|
14
|
+
export const DrawerContentBody: React.FunctionComponent<DrawerContentBodyProps> = ({
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
16
16
|
className = '',
|
|
17
17
|
children,
|
|
@@ -12,7 +12,7 @@ export interface DrawerHeadProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
12
12
|
hasNoPadding?: boolean;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export const DrawerHead: React.
|
|
15
|
+
export const DrawerHead: React.FunctionComponent<DrawerHeadProps> = ({
|
|
16
16
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
17
|
className = '',
|
|
18
18
|
children,
|
|
@@ -9,7 +9,7 @@ export interface DrawerMainProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
9
9
|
children?: React.ReactNode;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export const DrawerMain: React.
|
|
12
|
+
export const DrawerMain: React.FunctionComponent<DrawerMainProps> = ({
|
|
13
13
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
14
|
className = '',
|
|
15
15
|
children,
|
|
@@ -11,7 +11,7 @@ export interface DrawerPanelBodyProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
11
11
|
hasNoPadding?: boolean;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export const DrawerPanelBody: React.
|
|
14
|
+
export const DrawerPanelBody: React.FunctionComponent<DrawerPanelBodyProps> = ({
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
16
16
|
className = '',
|
|
17
17
|
children,
|
|
@@ -12,7 +12,7 @@ export interface DrawerSectionProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
12
12
|
colorVariant?: DrawerColorVariant | 'light-200' | 'default';
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export const DrawerSection: React.
|
|
15
|
+
export const DrawerSection: React.FunctionComponent<DrawerSectionProps> = ({
|
|
16
16
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
17
|
className = '',
|
|
18
18
|
children,
|
|
@@ -52,7 +52,7 @@ export const BadgeToggle: React.FunctionComponent<BadgeToggleProps> = ({
|
|
|
52
52
|
bubbleEvent = false,
|
|
53
53
|
onToggle = () => undefined as void,
|
|
54
54
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
55
|
-
ref, // Types of Ref are different for React.
|
|
55
|
+
ref, // Types of Ref are different for React.FunctionComponent vs React.Component
|
|
56
56
|
...props
|
|
57
57
|
}: BadgeToggleProps) => (
|
|
58
58
|
<Toggle
|
|
@@ -49,7 +49,7 @@ export interface DropdownProps extends ToggleMenuBaseProps, React.HTMLProps<HTML
|
|
|
49
49
|
export const Dropdown: React.FunctionComponent<DropdownProps> = ({
|
|
50
50
|
onSelect,
|
|
51
51
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
52
|
-
ref, // Types of Ref are different for React.
|
|
52
|
+
ref, // Types of Ref are different for React.FunctionComponent vs React.Component
|
|
53
53
|
ouiaId,
|
|
54
54
|
ouiaSafe,
|
|
55
55
|
alignments,
|
|
@@ -63,7 +63,7 @@ export const DropdownItem: React.FunctionComponent<DropdownItemProps> = ({
|
|
|
63
63
|
listItemClassName,
|
|
64
64
|
onClick,
|
|
65
65
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
66
|
-
ref, // Types of Ref are different for React.
|
|
66
|
+
ref, // Types of Ref are different for React.FunctionComponent vs React.Component
|
|
67
67
|
additionalChild,
|
|
68
68
|
customChild,
|
|
69
69
|
tabIndex = -1,
|
|
@@ -14,7 +14,7 @@ export interface SeparatorProps extends React.HTMLProps<HTMLAnchorElement>, OUIA
|
|
|
14
14
|
export const DropdownSeparator: React.FunctionComponent<SeparatorProps> = ({
|
|
15
15
|
className = '',
|
|
16
16
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
|
-
ref, // Types of Ref are different for React.
|
|
17
|
+
ref, // Types of Ref are different for React.FunctionComponent vs React.Component
|
|
18
18
|
ouiaId,
|
|
19
19
|
ouiaSafe,
|
|
20
20
|
...props
|
|
@@ -75,7 +75,7 @@ export const DropdownToggle: React.FunctionComponent<DropdownToggleProps> = ({
|
|
|
75
75
|
ouiaId,
|
|
76
76
|
ouiaSafe,
|
|
77
77
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
78
|
-
ref, // Types of Ref are different for React.
|
|
78
|
+
ref, // Types of Ref are different for React.FunctionComponent vs React.Component
|
|
79
79
|
...props
|
|
80
80
|
}: DropdownToggleProps) => {
|
|
81
81
|
const ouiaProps = useOUIAProps(DropdownToggle.displayName, ouiaId, ouiaSafe);
|
|
@@ -47,7 +47,7 @@ export const KebabToggle: React.FunctionComponent<KebabToggleProps> = ({
|
|
|
47
47
|
bubbleEvent = false,
|
|
48
48
|
onToggle = () => undefined as void,
|
|
49
49
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
50
|
-
ref, // Types of Ref are different for React.
|
|
50
|
+
ref, // Types of Ref are different for React.FunctionComponent vs React.Component
|
|
51
51
|
...props
|
|
52
52
|
}: KebabToggleProps) => (
|
|
53
53
|
<Toggle
|
|
@@ -149,27 +149,30 @@ export class DualListSelector extends React.Component<DualListSelectorProps, Dua
|
|
|
149
149
|
isTree: false,
|
|
150
150
|
isDisabled: false
|
|
151
151
|
};
|
|
152
|
-
private originalAvailableCopy = JSON.parse(JSON.stringify(this.props.availableOptions));
|
|
153
|
-
private originalChosenCopy = JSON.parse(JSON.stringify(this.props.chosenOptions));
|
|
154
152
|
|
|
155
153
|
// If the DualListSelector uses trees, concat the two initial arrays and merge duplicate folder IDs
|
|
156
|
-
private
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
154
|
+
private createMergedCopy() {
|
|
155
|
+
const copyOfAvailable = JSON.parse(JSON.stringify(this.props.availableOptions));
|
|
156
|
+
const copyOfChosen = JSON.parse(JSON.stringify(this.props.chosenOptions));
|
|
157
|
+
|
|
158
|
+
return this.props.isTree
|
|
159
|
+
? Object.values(
|
|
160
|
+
(copyOfAvailable as DualListSelectorTreeItemData[])
|
|
161
|
+
.concat(copyOfChosen as DualListSelectorTreeItemData[])
|
|
162
|
+
.reduce((mapObj: any, item: DualListSelectorTreeItemData) => {
|
|
163
|
+
const key = item.id;
|
|
164
|
+
if (mapObj[key]) {
|
|
165
|
+
// If map already has an item ID, add the dupe ID's children to the existing map
|
|
166
|
+
mapObj[key].children.push(...item.children);
|
|
167
|
+
} else {
|
|
168
|
+
// Else clone the item data
|
|
169
|
+
mapObj[key] = { ...item };
|
|
170
|
+
}
|
|
171
|
+
return mapObj;
|
|
172
|
+
}, {})
|
|
173
|
+
)
|
|
174
|
+
: null;
|
|
175
|
+
}
|
|
173
176
|
|
|
174
177
|
constructor(props: DualListSelectorProps) {
|
|
175
178
|
super(props);
|
|
@@ -275,7 +278,7 @@ export class DualListSelector extends React.Component<DualListSelectorProps, Dua
|
|
|
275
278
|
|
|
276
279
|
const currChosen = flattenTree(prevState.chosenOptions as DualListSelectorTreeItemData[]);
|
|
277
280
|
const nextChosenOptions = currChosen.concat(movedOptions);
|
|
278
|
-
const newChosen = this.
|
|
281
|
+
const newChosen = this.createMergedCopy()
|
|
279
282
|
.map(opt => Object.assign({}, opt))
|
|
280
283
|
.filter(item => filterTreeItemsWithoutFolders(item as DualListSelectorTreeItemData, nextChosenOptions));
|
|
281
284
|
|
|
@@ -330,7 +333,7 @@ export class DualListSelector extends React.Component<DualListSelectorProps, Dua
|
|
|
330
333
|
// Get next chosen options from current + new nodes and remap from base
|
|
331
334
|
const currChosen = flattenTree(prevState.chosenOptions as DualListSelectorTreeItemData[]);
|
|
332
335
|
const nextChosenOptions = currChosen.concat(prevState.availableTreeOptionsChecked);
|
|
333
|
-
const newChosen = this.
|
|
336
|
+
const newChosen = this.createMergedCopy()
|
|
334
337
|
.map(opt => Object.assign({}, opt))
|
|
335
338
|
.filter(item => filterTreeItemsWithoutFolders(item as DualListSelectorTreeItemData, nextChosenOptions));
|
|
336
339
|
|
|
@@ -383,7 +386,7 @@ export class DualListSelector extends React.Component<DualListSelectorProps, Dua
|
|
|
383
386
|
.filter(item => filterRestTreeItems(item as DualListSelectorTreeItemData, movedOptions));
|
|
384
387
|
const currAvailable = flattenTree(prevState.availableOptions as DualListSelectorTreeItemData[]);
|
|
385
388
|
const nextAvailableOptions = currAvailable.concat(movedOptions);
|
|
386
|
-
const newAvailable = this.
|
|
389
|
+
const newAvailable = this.createMergedCopy()
|
|
387
390
|
.map(opt => Object.assign({}, opt))
|
|
388
391
|
.filter(item => filterTreeItemsWithoutFolders(item as DualListSelectorTreeItemData, nextAvailableOptions));
|
|
389
392
|
|
|
@@ -434,7 +437,7 @@ export class DualListSelector extends React.Component<DualListSelectorProps, Dua
|
|
|
434
437
|
// Get next chosen options from current and remap from base
|
|
435
438
|
const currAvailable = flattenTree(prevState.availableOptions as DualListSelectorTreeItemData[]);
|
|
436
439
|
const nextAvailableOptions = currAvailable.concat(prevState.chosenTreeOptionsChecked);
|
|
437
|
-
const newAvailable = this.
|
|
440
|
+
const newAvailable = this.createMergedCopy()
|
|
438
441
|
.map(opt => Object.assign({}, opt))
|
|
439
442
|
.filter(item => filterTreeItemsWithoutFolders(item as DualListSelectorTreeItemData, nextAvailableOptions));
|
|
440
443
|
|
|
@@ -12,7 +12,7 @@ export interface OverflowMenuContentProps extends React.HTMLProps<HTMLDivElement
|
|
|
12
12
|
isPersistent?: boolean;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export const OverflowMenuContent: React.
|
|
15
|
+
export const OverflowMenuContent: React.FunctionComponent<OverflowMenuContentProps> = ({
|
|
16
16
|
className,
|
|
17
17
|
children,
|
|
18
18
|
isPersistent
|
|
@@ -12,7 +12,7 @@ export interface OverflowMenuControlProps extends React.HTMLProps<HTMLDivElement
|
|
|
12
12
|
hasAdditionalOptions?: boolean;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export const OverflowMenuControl: React.
|
|
15
|
+
export const OverflowMenuControl: React.FunctionComponent<OverflowMenuControlProps> = ({
|
|
16
16
|
className,
|
|
17
17
|
children,
|
|
18
18
|
hasAdditionalOptions,
|
|
@@ -9,7 +9,7 @@ export interface OverflowMenuDropdownItemProps extends DropdownItemProps {
|
|
|
9
9
|
index?: number;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export const OverflowMenuDropdownItem: React.
|
|
12
|
+
export const OverflowMenuDropdownItem: React.FunctionComponent<OverflowMenuDropdownItemProps> = ({
|
|
13
13
|
children,
|
|
14
14
|
isShared = false,
|
|
15
15
|
index,
|
|
@@ -14,7 +14,7 @@ export interface OverflowMenuGroupProps extends React.HTMLProps<HTMLDivElement>
|
|
|
14
14
|
groupType?: 'button' | 'icon';
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
export const OverflowMenuGroup: React.
|
|
17
|
+
export const OverflowMenuGroup: React.FunctionComponent<OverflowMenuGroupProps> = ({
|
|
18
18
|
className,
|
|
19
19
|
children,
|
|
20
20
|
isPersistent = false,
|
|
@@ -12,7 +12,7 @@ export interface OverflowMenuItemProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
12
12
|
isPersistent?: boolean;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export const OverflowMenuItem: React.
|
|
15
|
+
export const OverflowMenuItem: React.FunctionComponent<OverflowMenuItemProps> = ({
|
|
16
16
|
className,
|
|
17
17
|
children,
|
|
18
18
|
isPersistent = false
|
|
@@ -123,6 +123,8 @@ export interface SelectProps
|
|
|
123
123
|
) => void;
|
|
124
124
|
/** Callback for toggle button behavior */
|
|
125
125
|
onToggle: (isExpanded: boolean, event: React.MouseEvent | React.ChangeEvent | React.KeyboardEvent | Event) => void;
|
|
126
|
+
/** Callback for toggle blur */
|
|
127
|
+
onBlur?: (event?: any) => void;
|
|
126
128
|
/** Callback for typeahead clear button */
|
|
127
129
|
onClear?: (event: React.MouseEvent) => void;
|
|
128
130
|
/** Optional callback for custom filtering */
|
|
@@ -917,6 +919,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
917
919
|
direction,
|
|
918
920
|
onSelect,
|
|
919
921
|
onClear,
|
|
922
|
+
onBlur,
|
|
920
923
|
toggleId,
|
|
921
924
|
isOpen,
|
|
922
925
|
isGrouped,
|
|
@@ -1263,6 +1266,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1263
1266
|
onToggle={this.onToggle}
|
|
1264
1267
|
onEnter={this.onEnter}
|
|
1265
1268
|
onClose={this.onClose}
|
|
1269
|
+
onBlur={onBlur}
|
|
1266
1270
|
variant={variant}
|
|
1267
1271
|
aria-labelledby={`${ariaLabelledBy || ''} ${selectToggleId}`}
|
|
1268
1272
|
aria-label={toggleAriaLabel}
|
|
@@ -23,6 +23,8 @@ export interface SelectToggleProps extends React.HTMLProps<HTMLElement> {
|
|
|
23
23
|
onEnter?: () => void;
|
|
24
24
|
/** Callback for toggle close */
|
|
25
25
|
onClose?: () => void;
|
|
26
|
+
/** Callback for toggle blur */
|
|
27
|
+
onBlur?: (event?: any) => void;
|
|
26
28
|
/** @hide Internal callback for toggle keyboard navigation */
|
|
27
29
|
handleTypeaheadKeys?: (position: string, shiftKey?: boolean) => void;
|
|
28
30
|
/** @hide Internal callback to move focus to last menu item */
|
|
@@ -100,11 +102,14 @@ export class SelectToggle extends React.Component<SelectToggleProps> {
|
|
|
100
102
|
}
|
|
101
103
|
|
|
102
104
|
onDocClick = (event: Event) => {
|
|
103
|
-
const { parentRef, menuRef, isOpen, onToggle, onClose } = this.props;
|
|
105
|
+
const { parentRef, menuRef, footerRef, isOpen, onToggle, onClose } = this.props;
|
|
104
106
|
const clickedOnToggle = parentRef && parentRef.current && parentRef.current.contains(event.target as Node);
|
|
105
107
|
const clickedWithinMenu =
|
|
106
108
|
menuRef && menuRef.current && menuRef.current.contains && menuRef.current.contains(event.target as Node);
|
|
107
|
-
|
|
109
|
+
const clickedWithinFooter =
|
|
110
|
+
footerRef && footerRef.current && footerRef.current.contains && footerRef.current.contains(event.target as Node);
|
|
111
|
+
|
|
112
|
+
if (isOpen && !(clickedOnToggle || clickedWithinMenu || clickedWithinFooter)) {
|
|
108
113
|
onToggle(false, event);
|
|
109
114
|
onClose();
|
|
110
115
|
}
|
|
@@ -244,6 +249,7 @@ export class SelectToggle extends React.Component<SelectToggleProps> {
|
|
|
244
249
|
onToggle,
|
|
245
250
|
onEnter,
|
|
246
251
|
onClose,
|
|
252
|
+
onBlur,
|
|
247
253
|
onClickTypeaheadToggleButton,
|
|
248
254
|
handleTypeaheadKeys,
|
|
249
255
|
moveFocusToLastMenuItem,
|
|
@@ -289,6 +295,7 @@ export class SelectToggle extends React.Component<SelectToggleProps> {
|
|
|
289
295
|
className
|
|
290
296
|
)}
|
|
291
297
|
aria-label={ariaLabel}
|
|
298
|
+
onBlur={onBlur}
|
|
292
299
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
293
300
|
onClick={event => {
|
|
294
301
|
onToggle(!isOpen, event);
|
|
@@ -317,6 +324,7 @@ export class SelectToggle extends React.Component<SelectToggleProps> {
|
|
|
317
324
|
isTypeahead && styles.modifiers.typeahead,
|
|
318
325
|
className
|
|
319
326
|
)}
|
|
327
|
+
onBlur={onBlur}
|
|
320
328
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
321
329
|
onClick={event => {
|
|
322
330
|
if (!isDisabled) {
|