@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.
Files changed (160) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/esm/components/DataList/DataListCheck.d.ts +6 -2
  3. package/dist/esm/components/DataList/DataListCheck.d.ts.map +1 -1
  4. package/dist/esm/components/DataList/DataListCheck.js +1 -1
  5. package/dist/esm/components/DataList/DataListCheck.js.map +1 -1
  6. package/dist/esm/components/DescriptionList/DescriptionListGroup.d.ts +1 -1
  7. package/dist/esm/components/DescriptionList/DescriptionListGroup.d.ts.map +1 -1
  8. package/dist/esm/components/DescriptionList/DescriptionListGroup.js.map +1 -1
  9. package/dist/esm/components/Drawer/DrawerActions.d.ts +1 -1
  10. package/dist/esm/components/Drawer/DrawerActions.d.ts.map +1 -1
  11. package/dist/esm/components/Drawer/DrawerActions.js.map +1 -1
  12. package/dist/esm/components/Drawer/DrawerCloseButton.d.ts +1 -1
  13. package/dist/esm/components/Drawer/DrawerCloseButton.d.ts.map +1 -1
  14. package/dist/esm/components/Drawer/DrawerCloseButton.js.map +1 -1
  15. package/dist/esm/components/Drawer/DrawerContent.d.ts +1 -1
  16. package/dist/esm/components/Drawer/DrawerContent.d.ts.map +1 -1
  17. package/dist/esm/components/Drawer/DrawerContent.js.map +1 -1
  18. package/dist/esm/components/Drawer/DrawerContentBody.d.ts +1 -1
  19. package/dist/esm/components/Drawer/DrawerContentBody.d.ts.map +1 -1
  20. package/dist/esm/components/Drawer/DrawerContentBody.js.map +1 -1
  21. package/dist/esm/components/Drawer/DrawerHead.d.ts +1 -1
  22. package/dist/esm/components/Drawer/DrawerHead.d.ts.map +1 -1
  23. package/dist/esm/components/Drawer/DrawerHead.js.map +1 -1
  24. package/dist/esm/components/Drawer/DrawerMain.d.ts +1 -1
  25. package/dist/esm/components/Drawer/DrawerMain.d.ts.map +1 -1
  26. package/dist/esm/components/Drawer/DrawerMain.js.map +1 -1
  27. package/dist/esm/components/Drawer/DrawerPanelBody.d.ts +1 -1
  28. package/dist/esm/components/Drawer/DrawerPanelBody.d.ts.map +1 -1
  29. package/dist/esm/components/Drawer/DrawerPanelBody.js.map +1 -1
  30. package/dist/esm/components/Drawer/DrawerSection.d.ts +1 -1
  31. package/dist/esm/components/Drawer/DrawerSection.d.ts.map +1 -1
  32. package/dist/esm/components/Drawer/DrawerSection.js.map +1 -1
  33. package/dist/esm/components/Dropdown/BadgeToggle.js +1 -1
  34. package/dist/esm/components/Dropdown/BadgeToggle.js.map +1 -1
  35. package/dist/esm/components/Dropdown/Dropdown.js +1 -1
  36. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  37. package/dist/esm/components/Dropdown/DropdownItem.js +1 -1
  38. package/dist/esm/components/Dropdown/DropdownItem.js.map +1 -1
  39. package/dist/esm/components/Dropdown/DropdownSeparator.js +1 -1
  40. package/dist/esm/components/Dropdown/DropdownSeparator.js.map +1 -1
  41. package/dist/esm/components/Dropdown/DropdownToggle.js +1 -1
  42. package/dist/esm/components/Dropdown/DropdownToggle.js.map +1 -1
  43. package/dist/esm/components/Dropdown/KebabToggle.js +1 -1
  44. package/dist/esm/components/Dropdown/KebabToggle.js.map +1 -1
  45. package/dist/esm/components/DualListSelector/DualListSelector.d.ts +1 -3
  46. package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  47. package/dist/esm/components/DualListSelector/DualListSelector.js +25 -23
  48. package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
  49. package/dist/esm/components/OverflowMenu/OverflowMenuContent.d.ts +1 -1
  50. package/dist/esm/components/OverflowMenu/OverflowMenuContent.d.ts.map +1 -1
  51. package/dist/esm/components/OverflowMenu/OverflowMenuContent.js.map +1 -1
  52. package/dist/esm/components/OverflowMenu/OverflowMenuControl.d.ts +1 -1
  53. package/dist/esm/components/OverflowMenu/OverflowMenuControl.d.ts.map +1 -1
  54. package/dist/esm/components/OverflowMenu/OverflowMenuControl.js.map +1 -1
  55. package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.d.ts +1 -1
  56. package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.d.ts.map +1 -1
  57. package/dist/esm/components/OverflowMenu/OverflowMenuDropdownItem.js.map +1 -1
  58. package/dist/esm/components/OverflowMenu/OverflowMenuGroup.d.ts +1 -1
  59. package/dist/esm/components/OverflowMenu/OverflowMenuGroup.d.ts.map +1 -1
  60. package/dist/esm/components/OverflowMenu/OverflowMenuGroup.js.map +1 -1
  61. package/dist/esm/components/OverflowMenu/OverflowMenuItem.d.ts +1 -1
  62. package/dist/esm/components/OverflowMenu/OverflowMenuItem.d.ts.map +1 -1
  63. package/dist/esm/components/OverflowMenu/OverflowMenuItem.js.map +1 -1
  64. package/dist/esm/components/Select/SelectToggle.d.ts.map +1 -1
  65. package/dist/esm/components/Select/SelectToggle.js +3 -2
  66. package/dist/esm/components/Select/SelectToggle.js.map +1 -1
  67. package/dist/esm/components/Tabs/TabContent.js.map +1 -1
  68. package/dist/js/components/DataList/DataListCheck.d.ts +6 -2
  69. package/dist/js/components/DataList/DataListCheck.d.ts.map +1 -1
  70. package/dist/js/components/DataList/DataListCheck.js +1 -1
  71. package/dist/js/components/DataList/DataListCheck.js.map +1 -1
  72. package/dist/js/components/DescriptionList/DescriptionListGroup.d.ts +1 -1
  73. package/dist/js/components/DescriptionList/DescriptionListGroup.d.ts.map +1 -1
  74. package/dist/js/components/DescriptionList/DescriptionListGroup.js.map +1 -1
  75. package/dist/js/components/Drawer/DrawerActions.d.ts +1 -1
  76. package/dist/js/components/Drawer/DrawerActions.d.ts.map +1 -1
  77. package/dist/js/components/Drawer/DrawerActions.js.map +1 -1
  78. package/dist/js/components/Drawer/DrawerCloseButton.d.ts +1 -1
  79. package/dist/js/components/Drawer/DrawerCloseButton.d.ts.map +1 -1
  80. package/dist/js/components/Drawer/DrawerCloseButton.js.map +1 -1
  81. package/dist/js/components/Drawer/DrawerContent.d.ts +1 -1
  82. package/dist/js/components/Drawer/DrawerContent.d.ts.map +1 -1
  83. package/dist/js/components/Drawer/DrawerContent.js.map +1 -1
  84. package/dist/js/components/Drawer/DrawerContentBody.d.ts +1 -1
  85. package/dist/js/components/Drawer/DrawerContentBody.d.ts.map +1 -1
  86. package/dist/js/components/Drawer/DrawerContentBody.js.map +1 -1
  87. package/dist/js/components/Drawer/DrawerHead.d.ts +1 -1
  88. package/dist/js/components/Drawer/DrawerHead.d.ts.map +1 -1
  89. package/dist/js/components/Drawer/DrawerHead.js.map +1 -1
  90. package/dist/js/components/Drawer/DrawerMain.d.ts +1 -1
  91. package/dist/js/components/Drawer/DrawerMain.d.ts.map +1 -1
  92. package/dist/js/components/Drawer/DrawerMain.js.map +1 -1
  93. package/dist/js/components/Drawer/DrawerPanelBody.d.ts +1 -1
  94. package/dist/js/components/Drawer/DrawerPanelBody.d.ts.map +1 -1
  95. package/dist/js/components/Drawer/DrawerPanelBody.js.map +1 -1
  96. package/dist/js/components/Drawer/DrawerSection.d.ts +1 -1
  97. package/dist/js/components/Drawer/DrawerSection.d.ts.map +1 -1
  98. package/dist/js/components/Drawer/DrawerSection.js.map +1 -1
  99. package/dist/js/components/Dropdown/BadgeToggle.js +1 -1
  100. package/dist/js/components/Dropdown/BadgeToggle.js.map +1 -1
  101. package/dist/js/components/Dropdown/Dropdown.js +1 -1
  102. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  103. package/dist/js/components/Dropdown/DropdownItem.js +1 -1
  104. package/dist/js/components/Dropdown/DropdownItem.js.map +1 -1
  105. package/dist/js/components/Dropdown/DropdownSeparator.js +1 -1
  106. package/dist/js/components/Dropdown/DropdownSeparator.js.map +1 -1
  107. package/dist/js/components/Dropdown/DropdownToggle.js +1 -1
  108. package/dist/js/components/Dropdown/DropdownToggle.js.map +1 -1
  109. package/dist/js/components/Dropdown/KebabToggle.js +1 -1
  110. package/dist/js/components/Dropdown/KebabToggle.js.map +1 -1
  111. package/dist/js/components/DualListSelector/DualListSelector.d.ts +1 -3
  112. package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  113. package/dist/js/components/DualListSelector/DualListSelector.js +25 -23
  114. package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
  115. package/dist/js/components/OverflowMenu/OverflowMenuContent.d.ts +1 -1
  116. package/dist/js/components/OverflowMenu/OverflowMenuContent.d.ts.map +1 -1
  117. package/dist/js/components/OverflowMenu/OverflowMenuContent.js.map +1 -1
  118. package/dist/js/components/OverflowMenu/OverflowMenuControl.d.ts +1 -1
  119. package/dist/js/components/OverflowMenu/OverflowMenuControl.d.ts.map +1 -1
  120. package/dist/js/components/OverflowMenu/OverflowMenuControl.js.map +1 -1
  121. package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.d.ts +1 -1
  122. package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.d.ts.map +1 -1
  123. package/dist/js/components/OverflowMenu/OverflowMenuDropdownItem.js.map +1 -1
  124. package/dist/js/components/OverflowMenu/OverflowMenuGroup.d.ts +1 -1
  125. package/dist/js/components/OverflowMenu/OverflowMenuGroup.d.ts.map +1 -1
  126. package/dist/js/components/OverflowMenu/OverflowMenuGroup.js.map +1 -1
  127. package/dist/js/components/OverflowMenu/OverflowMenuItem.d.ts +1 -1
  128. package/dist/js/components/OverflowMenu/OverflowMenuItem.d.ts.map +1 -1
  129. package/dist/js/components/OverflowMenu/OverflowMenuItem.js.map +1 -1
  130. package/dist/js/components/Select/SelectToggle.d.ts.map +1 -1
  131. package/dist/js/components/Select/SelectToggle.js +3 -2
  132. package/dist/js/components/Select/SelectToggle.js.map +1 -1
  133. package/dist/js/components/Tabs/TabContent.js.map +1 -1
  134. package/dist/umd/react-core.js +1449 -991
  135. package/dist/umd/react-core.min.js +5 -5
  136. package/package.json +5 -5
  137. package/src/components/DataList/DataListCheck.tsx +8 -3
  138. package/src/components/DescriptionList/DescriptionListGroup.tsx +1 -1
  139. package/src/components/Drawer/DrawerActions.tsx +1 -1
  140. package/src/components/Drawer/DrawerCloseButton.tsx +1 -1
  141. package/src/components/Drawer/DrawerContent.tsx +1 -1
  142. package/src/components/Drawer/DrawerContentBody.tsx +1 -1
  143. package/src/components/Drawer/DrawerHead.tsx +1 -1
  144. package/src/components/Drawer/DrawerMain.tsx +1 -1
  145. package/src/components/Drawer/DrawerPanelBody.tsx +1 -1
  146. package/src/components/Drawer/DrawerSection.tsx +1 -1
  147. package/src/components/Dropdown/BadgeToggle.tsx +1 -1
  148. package/src/components/Dropdown/Dropdown.tsx +1 -1
  149. package/src/components/Dropdown/DropdownItem.tsx +1 -1
  150. package/src/components/Dropdown/DropdownSeparator.tsx +1 -1
  151. package/src/components/Dropdown/DropdownToggle.tsx +1 -1
  152. package/src/components/Dropdown/KebabToggle.tsx +1 -1
  153. package/src/components/DualListSelector/DualListSelector.tsx +26 -23
  154. package/src/components/OverflowMenu/OverflowMenuContent.tsx +1 -1
  155. package/src/components/OverflowMenu/OverflowMenuControl.tsx +1 -1
  156. package/src/components/OverflowMenu/OverflowMenuDropdownItem.tsx +1 -1
  157. package/src/components/OverflowMenu/OverflowMenuGroup.tsx +1 -1
  158. package/src/components/OverflowMenu/OverflowMenuItem.tsx +1 -1
  159. package/src/components/Select/SelectToggle.tsx +5 -2
  160. 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.21",
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.21",
38
- "@patternfly/react-styles": "^4.52.21",
39
- "@patternfly/react-tokens": "^4.54.21",
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": "15786a5112cf09f6bdbc95b067918cf24ec74ba0"
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={isChecked || 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.FC<DescriptionListGroupProps> = ({
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.SFC<DrawerActionsProps> = ({
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.SFC<DrawerCloseButtonProps> = ({
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.SFC<DrawerContentProps> = ({
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.SFC<DrawerContentBodyProps> = ({
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.SFC<DrawerHeadProps> = ({
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.SFC<DrawerMainProps> = ({
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.SFC<DrawerPanelBodyProps> = ({
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.SFC<DrawerSectionProps> = ({
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.FC vs React.Component
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.FC vs React.Component
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.FC vs React.Component
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.FC vs React.Component
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.FC vs React.Component
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.FC vs React.Component
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 mergedCopy = this.props.isTree
157
- ? Object.values(
158
- (this.originalAvailableCopy as DualListSelectorTreeItemData[])
159
- .concat(this.originalChosenCopy as DualListSelectorTreeItemData[])
160
- .reduce((mapObj: any, item: DualListSelectorTreeItemData) => {
161
- const key = item.id;
162
- if (mapObj[key]) {
163
- // If map already has an item ID, add the dupe ID's children to the existing map
164
- mapObj[key].children.push(...item.children);
165
- } else {
166
- // Else clone the item data
167
- mapObj[key] = { ...item };
168
- }
169
- return mapObj;
170
- }, {})
171
- )
172
- : null;
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.mergedCopy
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.mergedCopy
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.mergedCopy
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.mergedCopy
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.SFC<OverflowMenuContentProps> = ({
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.SFC<OverflowMenuControlProps> = ({
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.SFC<OverflowMenuDropdownItemProps> = ({
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.FC<OverflowMenuGroupProps> = ({
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.SFC<OverflowMenuItemProps> = ({
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
- if (isOpen && !(clickedOnToggle || clickedWithinMenu)) {
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
  }
@@ -28,7 +28,7 @@ const variantStyle = {
28
28
  light300: styles.modifiers.light_300
29
29
  };
30
30
 
31
- const TabContentBase: React.FC<TabContentProps> = ({
31
+ const TabContentBase: React.FunctionComponent<TabContentProps> = ({
32
32
  id,
33
33
  activeKey,
34
34
  'aria-label': ariaLabel,