@patternfly/react-core 4.202.21 → 4.202.24
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 +30 -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/SelectToggle.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectToggle.js +3 -2
- 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/SelectToggle.d.ts.map +1 -1
- package/dist/js/components/Select/SelectToggle.js +3 -2
- package/dist/js/components/Select/SelectToggle.js.map +1 -1
- package/dist/js/components/Tabs/TabContent.js.map +1 -1
- package/dist/umd/react-core.js +1449 -991
- package/dist/umd/react-core.min.js +5 -5
- package/package.json +5 -5
- 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/SelectToggle.tsx +5 -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.24",
|
|
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,9 +34,9 @@
|
|
|
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.24",
|
|
38
|
+
"@patternfly/react-styles": "^4.52.24",
|
|
39
|
+
"@patternfly/react-tokens": "^4.54.24",
|
|
40
40
|
"focus-trap": "6.2.2",
|
|
41
41
|
"react-dropzone": "9.0.0",
|
|
42
42
|
"tippy.js": "5.1.2",
|
|
@@ -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": "73a1735a4abfde4bad7f3e762383e4b371ea6038"
|
|
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
|
|
@@ -100,11 +100,14 @@ export class SelectToggle extends React.Component<SelectToggleProps> {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
onDocClick = (event: Event) => {
|
|
103
|
-
const { parentRef, menuRef, isOpen, onToggle, onClose } = this.props;
|
|
103
|
+
const { parentRef, menuRef, footerRef, isOpen, onToggle, onClose } = this.props;
|
|
104
104
|
const clickedOnToggle = parentRef && parentRef.current && parentRef.current.contains(event.target as Node);
|
|
105
105
|
const clickedWithinMenu =
|
|
106
106
|
menuRef && menuRef.current && menuRef.current.contains && menuRef.current.contains(event.target as Node);
|
|
107
|
-
|
|
107
|
+
const clickedWithinFooter =
|
|
108
|
+
footerRef && footerRef.current && footerRef.current.contains && footerRef.current.contains(event.target as Node);
|
|
109
|
+
|
|
110
|
+
if (isOpen && !(clickedOnToggle || clickedWithinMenu || clickedWithinFooter)) {
|
|
108
111
|
onToggle(false, event);
|
|
109
112
|
onClose();
|
|
110
113
|
}
|