@patternfly/react-core 4.258.8 → 4.260.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/CHANGELOG.md +22 -0
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -0
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.js +2 -2
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
- package/dist/esm/components/ContextSelector/ContextSelector.d.ts +2 -0
- package/dist/esm/components/ContextSelector/ContextSelector.d.ts.map +1 -1
- package/dist/esm/components/ContextSelector/ContextSelector.js +4 -3
- package/dist/esm/components/ContextSelector/ContextSelector.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +2 -2
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Dropdown/DropdownWithContext.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/DropdownWithContext.js +2 -2
- package/dist/esm/components/Dropdown/DropdownWithContext.js.map +1 -1
- package/dist/esm/components/HelperText/__mocks__/HelperText.d.ts +4 -0
- package/dist/esm/components/HelperText/__mocks__/HelperText.d.ts.map +1 -0
- package/dist/esm/components/HelperText/__mocks__/HelperText.js +5 -0
- package/dist/esm/components/HelperText/__mocks__/HelperText.js.map +1 -0
- package/dist/esm/components/HelperText/__mocks__/HelperTextItem.d.ts +4 -0
- package/dist/esm/components/HelperText/__mocks__/HelperTextItem.d.ts.map +1 -0
- package/dist/esm/components/HelperText/__mocks__/HelperTextItem.js +5 -0
- package/dist/esm/components/HelperText/__mocks__/HelperTextItem.js.map +1 -0
- package/dist/esm/components/HelperText/__mocks__/index.d.ts +3 -0
- package/dist/esm/components/HelperText/__mocks__/index.d.ts.map +1 -0
- package/dist/esm/components/HelperText/__mocks__/index.js +3 -0
- package/dist/esm/components/HelperText/__mocks__/index.js.map +1 -0
- package/dist/esm/components/Nav/NavItem.d.ts +2 -0
- package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
- package/dist/esm/components/Nav/NavItem.js +2 -2
- package/dist/esm/components/Nav/NavItem.js.map +1 -1
- package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts +2 -0
- package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
- package/dist/esm/components/OptionsMenu/OptionsMenu.js +2 -2
- package/dist/esm/components/OptionsMenu/OptionsMenu.js.map +1 -1
- package/dist/esm/components/Progress/Progress.d.ts +4 -0
- package/dist/esm/components/Progress/Progress.d.ts.map +1 -1
- package/dist/esm/components/Progress/Progress.js +2 -2
- package/dist/esm/components/Progress/Progress.js.map +1 -1
- package/dist/esm/components/Progress/ProgressContainer.d.ts +4 -0
- package/dist/esm/components/Progress/ProgressContainer.d.ts.map +1 -1
- package/dist/esm/components/Progress/ProgressContainer.js +4 -2
- package/dist/esm/components/Progress/ProgressContainer.js.map +1 -1
- package/dist/esm/components/Progress/ProgressHelperText.d.ts +9 -0
- package/dist/esm/components/Progress/ProgressHelperText.d.ts.map +1 -0
- package/dist/esm/components/Progress/ProgressHelperText.js +9 -0
- package/dist/esm/components/Progress/ProgressHelperText.js.map +1 -0
- package/dist/esm/components/SearchInput/SearchInput.d.ts +2 -0
- package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/esm/components/SearchInput/SearchInput.js +2 -2
- package/dist/esm/components/SearchInput/SearchInput.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 +4 -3
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Tabs/OverflowTab.d.ts +2 -0
- package/dist/esm/components/Tabs/OverflowTab.d.ts.map +1 -1
- package/dist/esm/components/Tabs/OverflowTab.js +2 -2
- package/dist/esm/components/Tabs/OverflowTab.js.map +1 -1
- package/dist/esm/components/TimePicker/TimePicker.d.ts +3 -0
- package/dist/esm/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/esm/components/TimePicker/TimePicker.js +4 -3
- package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/esm/next/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/esm/next/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/next/components/Dropdown/Dropdown.js +2 -2
- package/dist/esm/next/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/next/components/Select/Select.d.ts +2 -0
- package/dist/esm/next/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/next/components/Select/Select.js +2 -2
- package/dist/esm/next/components/Select/Select.js.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -0
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.js +2 -2
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
- package/dist/js/components/ContextSelector/ContextSelector.d.ts +2 -0
- package/dist/js/components/ContextSelector/ContextSelector.d.ts.map +1 -1
- package/dist/js/components/ContextSelector/ContextSelector.js +4 -3
- package/dist/js/components/ContextSelector/ContextSelector.js.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +2 -2
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Dropdown/DropdownWithContext.d.ts.map +1 -1
- package/dist/js/components/Dropdown/DropdownWithContext.js +2 -2
- package/dist/js/components/Dropdown/DropdownWithContext.js.map +1 -1
- package/dist/js/components/HelperText/__mocks__/HelperText.d.ts +4 -0
- package/dist/js/components/HelperText/__mocks__/HelperText.d.ts.map +1 -0
- package/dist/js/components/HelperText/__mocks__/HelperText.js +10 -0
- package/dist/js/components/HelperText/__mocks__/HelperText.js.map +1 -0
- package/dist/js/components/HelperText/__mocks__/HelperTextItem.d.ts +4 -0
- package/dist/js/components/HelperText/__mocks__/HelperTextItem.d.ts.map +1 -0
- package/dist/js/components/HelperText/__mocks__/HelperTextItem.js +10 -0
- package/dist/js/components/HelperText/__mocks__/HelperTextItem.js.map +1 -0
- package/dist/js/components/HelperText/__mocks__/index.d.ts +3 -0
- package/dist/js/components/HelperText/__mocks__/index.d.ts.map +1 -0
- package/dist/js/components/HelperText/__mocks__/index.js +6 -0
- package/dist/js/components/HelperText/__mocks__/index.js.map +1 -0
- package/dist/js/components/Nav/NavItem.d.ts +2 -0
- package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
- package/dist/js/components/Nav/NavItem.js +2 -2
- package/dist/js/components/Nav/NavItem.js.map +1 -1
- package/dist/js/components/OptionsMenu/OptionsMenu.d.ts +2 -0
- package/dist/js/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
- package/dist/js/components/OptionsMenu/OptionsMenu.js +2 -2
- package/dist/js/components/OptionsMenu/OptionsMenu.js.map +1 -1
- package/dist/js/components/Progress/Progress.d.ts +4 -0
- package/dist/js/components/Progress/Progress.d.ts.map +1 -1
- package/dist/js/components/Progress/Progress.js +2 -2
- package/dist/js/components/Progress/Progress.js.map +1 -1
- package/dist/js/components/Progress/ProgressContainer.d.ts +4 -0
- package/dist/js/components/Progress/ProgressContainer.d.ts.map +1 -1
- package/dist/js/components/Progress/ProgressContainer.js +4 -2
- package/dist/js/components/Progress/ProgressContainer.js.map +1 -1
- package/dist/js/components/Progress/ProgressHelperText.d.ts +9 -0
- package/dist/js/components/Progress/ProgressHelperText.d.ts.map +1 -0
- package/dist/js/components/Progress/ProgressHelperText.js +13 -0
- package/dist/js/components/Progress/ProgressHelperText.js.map +1 -0
- package/dist/js/components/SearchInput/SearchInput.d.ts +2 -0
- package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/js/components/SearchInput/SearchInput.js +2 -2
- package/dist/js/components/SearchInput/SearchInput.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 +4 -3
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Tabs/OverflowTab.d.ts +2 -0
- package/dist/js/components/Tabs/OverflowTab.d.ts.map +1 -1
- package/dist/js/components/Tabs/OverflowTab.js +2 -2
- package/dist/js/components/Tabs/OverflowTab.js.map +1 -1
- package/dist/js/components/TimePicker/TimePicker.d.ts +3 -0
- package/dist/js/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/js/components/TimePicker/TimePicker.js +4 -3
- package/dist/js/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/js/next/components/Dropdown/Dropdown.d.ts +2 -0
- package/dist/js/next/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/next/components/Dropdown/Dropdown.js +2 -2
- package/dist/js/next/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/next/components/Select/Select.d.ts +2 -0
- package/dist/js/next/components/Select/Select.d.ts.map +1 -1
- package/dist/js/next/components/Select/Select.js +2 -2
- package/dist/js/next/components/Select/Select.js.map +1 -1
- package/dist/umd/react-core.min.css +2174 -2174
- package/dist/umd/react-core.min.js +4 -4
- package/package.json +2 -2
- package/src/components/ApplicationLauncher/ApplicationLauncher.tsx +4 -0
- package/src/components/ContextSelector/ContextSelector.tsx +6 -1
- package/src/components/Dropdown/Dropdown.tsx +4 -0
- package/src/components/Dropdown/DropdownWithContext.tsx +2 -0
- package/src/components/HelperText/__mocks__/HelperText.tsx +9 -0
- package/src/components/HelperText/__mocks__/HelperTextItem.tsx +9 -0
- package/src/components/HelperText/__mocks__/index.ts +2 -0
- package/src/components/Nav/NavItem.tsx +4 -0
- package/src/components/OptionsMenu/OptionsMenu.tsx +4 -0
- package/src/components/Progress/Progress.tsx +6 -0
- package/src/components/Progress/ProgressContainer.tsx +8 -1
- package/src/components/Progress/ProgressHelperText.tsx +20 -0
- package/src/components/Progress/__tests__/Progress.test.tsx +13 -1
- package/src/components/Progress/__tests__/ProgressHelperText.test.tsx +35 -0
- package/src/components/Progress/__tests__/__snapshots__/ProgressHelperText.test.tsx.snap +11 -0
- package/src/components/Progress/examples/Progress.md +4 -0
- package/src/components/Progress/examples/ProgressHelperText.tsx +42 -0
- package/src/components/SearchInput/SearchInput.tsx +4 -0
- package/src/components/Select/Select.tsx +6 -1
- package/src/components/Tabs/OverflowTab.tsx +4 -0
- package/src/components/TimePicker/TimePicker.tsx +6 -1
- package/src/next/components/Dropdown/Dropdown.tsx +4 -0
- package/src/next/components/Select/Select.tsx +4 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.260.0",
|
|
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",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"react": "^16.8 || ^17 || ^18",
|
|
71
71
|
"react-dom": "^16.8 || ^17 || ^18"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "8d5d8dc62afaae1e70567b802bf617bf73df36a4"
|
|
74
74
|
}
|
|
@@ -63,6 +63,8 @@ export interface ApplicationLauncherProps
|
|
|
63
63
|
toggleId?: string;
|
|
64
64
|
/** @beta Opt-in for updated popper that does not use findDOMNode. */
|
|
65
65
|
removeFindDomNode?: boolean;
|
|
66
|
+
/** z-index of the application launcher when menuAppendTo is not inline. */
|
|
67
|
+
zIndex?: number;
|
|
66
68
|
}
|
|
67
69
|
|
|
68
70
|
export class ApplicationLauncher extends React.Component<ApplicationLauncherProps> {
|
|
@@ -133,6 +135,7 @@ export class ApplicationLauncher extends React.Component<ApplicationLauncherProp
|
|
|
133
135
|
searchNoResultsText,
|
|
134
136
|
menuAppendTo,
|
|
135
137
|
removeFindDomNode,
|
|
138
|
+
zIndex = 9999,
|
|
136
139
|
...props
|
|
137
140
|
} = this.props;
|
|
138
141
|
let renderableItems: React.ReactNode[] = [];
|
|
@@ -194,6 +197,7 @@ export class ApplicationLauncher extends React.Component<ApplicationLauncherProp
|
|
|
194
197
|
aria-label={ariaLabel}
|
|
195
198
|
menuAppendTo={menuAppendTo}
|
|
196
199
|
removeFindDomNode={removeFindDomNode}
|
|
200
|
+
zIndex={zIndex}
|
|
197
201
|
toggle={
|
|
198
202
|
<DropdownToggle
|
|
199
203
|
id={toggleId}
|
|
@@ -68,6 +68,8 @@ export interface ContextSelectorProps extends Omit<ToggleMenuBaseProps, 'menuApp
|
|
|
68
68
|
id?: string;
|
|
69
69
|
/** @beta Opt-in for updated popper that does not use findDOMNode. */
|
|
70
70
|
removeFindDomNode?: boolean;
|
|
71
|
+
/** z-index of the context selector when menuAppendTo is not inline. */
|
|
72
|
+
zIndex?: number;
|
|
71
73
|
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
72
74
|
ouiaId?: number | string;
|
|
73
75
|
/** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
|
|
@@ -96,7 +98,8 @@ export class ContextSelector extends React.Component<ContextSelectorProps, { oui
|
|
|
96
98
|
isPlain: false,
|
|
97
99
|
isText: false,
|
|
98
100
|
isFlipEnabled: true,
|
|
99
|
-
removeFindDomNode: false
|
|
101
|
+
removeFindDomNode: false,
|
|
102
|
+
zIndex: 9999
|
|
100
103
|
};
|
|
101
104
|
constructor(props: ContextSelectorProps) {
|
|
102
105
|
super(props);
|
|
@@ -139,6 +142,7 @@ export class ContextSelector extends React.Component<ContextSelectorProps, { oui
|
|
|
139
142
|
isFlipEnabled,
|
|
140
143
|
id,
|
|
141
144
|
removeFindDomNode,
|
|
145
|
+
zIndex,
|
|
142
146
|
...props
|
|
143
147
|
} = this.props;
|
|
144
148
|
|
|
@@ -235,6 +239,7 @@ export class ContextSelector extends React.Component<ContextSelectorProps, { oui
|
|
|
235
239
|
appendTo={menuAppendTo === 'parent' ? getParentElement() : menuAppendTo}
|
|
236
240
|
isVisible={isOpen}
|
|
237
241
|
removeFindDomNode={removeFindDomNode}
|
|
242
|
+
zIndex={zIndex}
|
|
238
243
|
/>
|
|
239
244
|
);
|
|
240
245
|
}
|
|
@@ -62,6 +62,8 @@ export interface DropdownProps
|
|
|
62
62
|
isFlipEnabled?: boolean;
|
|
63
63
|
/** @beta Opt-in for updated popper that does not use findDOMNode. */
|
|
64
64
|
removeFindDomNode?: boolean;
|
|
65
|
+
/** z-index of the dropdown when menuAppendTo is not inline. */
|
|
66
|
+
zIndex?: number;
|
|
65
67
|
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
66
68
|
ouiaId?: number | string;
|
|
67
69
|
/** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
|
|
@@ -79,6 +81,7 @@ export const Dropdown: React.FunctionComponent<DropdownProps> = ({
|
|
|
79
81
|
menuAppendTo = 'inline',
|
|
80
82
|
isFlipEnabled = true,
|
|
81
83
|
removeFindDomNode = false,
|
|
84
|
+
zIndex = 9999,
|
|
82
85
|
...props
|
|
83
86
|
}: DropdownProps) => (
|
|
84
87
|
<DropdownContext.Provider
|
|
@@ -108,6 +111,7 @@ export const Dropdown: React.FunctionComponent<DropdownProps> = ({
|
|
|
108
111
|
menuAppendTo={menuAppendTo}
|
|
109
112
|
isFlipEnabled={isFlipEnabled}
|
|
110
113
|
removeFindDomNode={removeFindDomNode}
|
|
114
|
+
zIndex={zIndex}
|
|
111
115
|
{...props}
|
|
112
116
|
/>
|
|
113
117
|
</DropdownContext.Provider>
|
|
@@ -78,6 +78,7 @@ export class DropdownWithContext extends React.Component<DropdownProps & OUIAPro
|
|
|
78
78
|
menuAppendTo,
|
|
79
79
|
isFlipEnabled,
|
|
80
80
|
removeFindDomNode,
|
|
81
|
+
zIndex,
|
|
81
82
|
...props
|
|
82
83
|
} = this.props;
|
|
83
84
|
const id = toggle.props.id || `pf-dropdown-toggle-id-${DropdownWithContext.currentId++}`;
|
|
@@ -175,6 +176,7 @@ export class DropdownWithContext extends React.Component<DropdownProps & OUIAPro
|
|
|
175
176
|
appendTo={menuAppendTo === 'parent' ? getParentElement() : menuAppendTo}
|
|
176
177
|
isVisible={isOpen}
|
|
177
178
|
removeFindDomNode={removeFindDomNode}
|
|
179
|
+
zIndex={zIndex}
|
|
178
180
|
popperMatchesTriggerWidth={false}
|
|
179
181
|
/>
|
|
180
182
|
);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HelperTextProps } from '../';
|
|
3
|
+
|
|
4
|
+
export const HelperText = ({ children, isLiveRegion }: HelperTextProps) => (
|
|
5
|
+
<>
|
|
6
|
+
<div data-testid="helper-text-children-container">{children}</div>
|
|
7
|
+
<p>{`isLiveRegion: ${isLiveRegion}`}</p>
|
|
8
|
+
</>
|
|
9
|
+
);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HelperTextItemProps } from '../';
|
|
3
|
+
|
|
4
|
+
export const HelperTextItem = ({ children, variant }: HelperTextItemProps) => (
|
|
5
|
+
<>
|
|
6
|
+
<div data-testid="helper-text-item-children-container">{children}</div>
|
|
7
|
+
<p>{`variant: ${variant}`}</p>
|
|
8
|
+
</>
|
|
9
|
+
);
|
|
@@ -34,6 +34,8 @@ export interface NavItemProps extends Omit<React.HTMLProps<HTMLAnchorElement>, '
|
|
|
34
34
|
onShowFlyout?: () => void;
|
|
35
35
|
/** @beta Opt-in for updated popper that does not use findDOMNode. */
|
|
36
36
|
removeFindDomNode?: boolean;
|
|
37
|
+
/** z-index of the flyout nav item */
|
|
38
|
+
zIndex?: number;
|
|
37
39
|
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
38
40
|
ouiaId?: number | string;
|
|
39
41
|
/** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
|
|
@@ -56,6 +58,7 @@ export const NavItem: React.FunctionComponent<NavItemProps> = ({
|
|
|
56
58
|
ouiaId,
|
|
57
59
|
ouiaSafe,
|
|
58
60
|
removeFindDomNode = false,
|
|
61
|
+
zIndex = 9999,
|
|
59
62
|
...props
|
|
60
63
|
}: NavItemProps) => {
|
|
61
64
|
const { flyoutRef, setFlyoutRef } = React.useContext(NavContext);
|
|
@@ -225,6 +228,7 @@ export const NavItem: React.FunctionComponent<NavItemProps> = ({
|
|
|
225
228
|
isVisible={flyoutVisible}
|
|
226
229
|
onDocumentKeyDown={handleFlyout}
|
|
227
230
|
removeFindDomNode={removeFindDomNode}
|
|
231
|
+
zIndex={zIndex}
|
|
228
232
|
/>
|
|
229
233
|
);
|
|
230
234
|
|
|
@@ -49,6 +49,8 @@ export interface OptionsMenuProps
|
|
|
49
49
|
menuAppendTo?: HTMLElement | (() => HTMLElement) | 'inline' | 'parent';
|
|
50
50
|
/** @beta Opt-in for updated popper that does not use findDOMNode. */
|
|
51
51
|
removeFindDomNode?: boolean;
|
|
52
|
+
/** z-index of the options menu when menuAppendTo is not inline. */
|
|
53
|
+
zIndex?: number;
|
|
52
54
|
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
53
55
|
ouiaId?: number | string;
|
|
54
56
|
/** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
|
|
@@ -68,6 +70,7 @@ export const OptionsMenu: React.FunctionComponent<OptionsMenuProps> = ({
|
|
|
68
70
|
ouiaId,
|
|
69
71
|
ouiaSafe = true,
|
|
70
72
|
removeFindDomNode = false,
|
|
73
|
+
zIndex = 9999,
|
|
71
74
|
...props
|
|
72
75
|
}: OptionsMenuProps) => (
|
|
73
76
|
<DropdownContext.Provider
|
|
@@ -96,6 +99,7 @@ export const OptionsMenu: React.FunctionComponent<OptionsMenuProps> = ({
|
|
|
96
99
|
toggle={toggle}
|
|
97
100
|
menuAppendTo={menuAppendTo}
|
|
98
101
|
removeFindDomNode={removeFindDomNode}
|
|
102
|
+
zIndex={zIndex}
|
|
99
103
|
{...props}
|
|
100
104
|
/>
|
|
101
105
|
</DropdownContext.Provider>
|
|
@@ -42,6 +42,10 @@ export interface ProgressProps extends Omit<React.HTMLProps<HTMLDivElement>, 'si
|
|
|
42
42
|
'aria-label'?: string;
|
|
43
43
|
/** Associates the ProgressBar with it's label for accessibility purposes. Required when title not used */
|
|
44
44
|
'aria-labelledby'?: string;
|
|
45
|
+
/** @beta Content which can be used to convey additional information about the progress component.
|
|
46
|
+
* We recommend the helper text component as it was designed for this purpose.
|
|
47
|
+
*/
|
|
48
|
+
helperText?: React.ReactNode;
|
|
45
49
|
}
|
|
46
50
|
|
|
47
51
|
export class Progress extends React.Component<ProgressProps> {
|
|
@@ -85,6 +89,7 @@ export class Progress extends React.Component<ProgressProps> {
|
|
|
85
89
|
tooltipPosition,
|
|
86
90
|
'aria-label': ariaLabel,
|
|
87
91
|
'aria-labelledby': ariaLabelledBy,
|
|
92
|
+
helperText,
|
|
88
93
|
...props
|
|
89
94
|
} = this.props;
|
|
90
95
|
|
|
@@ -137,6 +142,7 @@ export class Progress extends React.Component<ProgressProps> {
|
|
|
137
142
|
progressBarAriaProps={progressBarAriaProps}
|
|
138
143
|
isTitleTruncated={isTitleTruncated}
|
|
139
144
|
tooltipPosition={tooltipPosition}
|
|
145
|
+
helperText={helperText}
|
|
140
146
|
/>
|
|
141
147
|
</div>
|
|
142
148
|
);
|
|
@@ -6,6 +6,7 @@ import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle
|
|
|
6
6
|
import TimesCircleIcon from '@patternfly/react-icons/dist/esm/icons/times-circle-icon';
|
|
7
7
|
import ExclamationTriangleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-triangle-icon';
|
|
8
8
|
import { AriaProps, ProgressBar } from './ProgressBar';
|
|
9
|
+
import { ProgressHelperText } from './ProgressHelperText';
|
|
9
10
|
|
|
10
11
|
export enum ProgressMeasureLocation {
|
|
11
12
|
outside = 'outside',
|
|
@@ -53,6 +54,10 @@ export interface ProgressContainerProps extends Omit<React.HTMLProps<HTMLDivElem
|
|
|
53
54
|
| 'left-end'
|
|
54
55
|
| 'right-start'
|
|
55
56
|
| 'right-end';
|
|
57
|
+
/** @beta Content which can be used to convey additional information about the progress component.
|
|
58
|
+
* We recommend the helper text component as it was designed for this purpose.
|
|
59
|
+
*/
|
|
60
|
+
helperText?: React.ReactNode;
|
|
56
61
|
}
|
|
57
62
|
|
|
58
63
|
const variantToIcon = {
|
|
@@ -70,7 +75,8 @@ export const ProgressContainer: React.FunctionComponent<ProgressContainerProps>
|
|
|
70
75
|
variant = null,
|
|
71
76
|
measureLocation = ProgressMeasureLocation.top,
|
|
72
77
|
isTitleTruncated = false,
|
|
73
|
-
tooltipPosition
|
|
78
|
+
tooltipPosition,
|
|
79
|
+
helperText
|
|
74
80
|
}: ProgressContainerProps) => {
|
|
75
81
|
const StatusIcon = variantToIcon.hasOwnProperty(variant) && variantToIcon[variant];
|
|
76
82
|
const [tooltip, setTooltip] = React.useState('');
|
|
@@ -117,6 +123,7 @@ export const ProgressContainer: React.FunctionComponent<ProgressContainerProps>
|
|
|
117
123
|
<ProgressBar role="progressbar" progressBarAriaProps={progressBarAriaProps} value={value}>
|
|
118
124
|
{measureLocation === ProgressMeasureLocation.inside && `${value}%`}
|
|
119
125
|
</ProgressBar>
|
|
126
|
+
{helperText && <ProgressHelperText>{helperText}</ProgressHelperText>}
|
|
120
127
|
</React.Fragment>
|
|
121
128
|
);
|
|
122
129
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import progressStyle from '@patternfly/react-styles/css/components/Progress/progress';
|
|
3
|
+
|
|
4
|
+
export interface ProgressHelperTextProps extends React.HTMLProps<HTMLDivElement> {
|
|
5
|
+
/** Content which can be used to convey additional information about the progress component.
|
|
6
|
+
* We recommend the helper text component as it was designed for this purpose.
|
|
7
|
+
*/
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const ProgressHelperText: React.FunctionComponent<ProgressHelperTextProps> = ({
|
|
12
|
+
children,
|
|
13
|
+
...props
|
|
14
|
+
}: ProgressHelperTextProps) => (
|
|
15
|
+
<div className={progressStyle.progressHelperText} {...props}>
|
|
16
|
+
{children}
|
|
17
|
+
</div>
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
ProgressHelperText.displayName = 'ProgressHelperText';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { render } from '@testing-library/react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
3
|
import { Progress, ProgressSize } from '../Progress';
|
|
4
4
|
import { ProgressVariant, ProgressMeasureLocation } from '../ProgressContainer';
|
|
5
5
|
|
|
@@ -97,3 +97,15 @@ test('progress component generates console warning when no accessible name is pr
|
|
|
97
97
|
render(<Progress value={33} />);
|
|
98
98
|
expect(consoleWarnMock).toHaveBeenCalled();
|
|
99
99
|
});
|
|
100
|
+
|
|
101
|
+
test('Does not render helper text by default', () => {
|
|
102
|
+
render(<Progress/>);
|
|
103
|
+
|
|
104
|
+
expect(screen.queryByText('Test helper text')).not.toBeInTheDocument();
|
|
105
|
+
})
|
|
106
|
+
|
|
107
|
+
test('Renders passed helper text', () => {
|
|
108
|
+
render(<Progress helperText="Test helper text" />);
|
|
109
|
+
|
|
110
|
+
expect(screen.getByText('Test helper text')).toBeVisible();
|
|
111
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import { ProgressHelperText } from '../ProgressHelperText';
|
|
4
|
+
|
|
5
|
+
test('Renders without children', () => {
|
|
6
|
+
render(
|
|
7
|
+
<div data-testid="container">
|
|
8
|
+
<ProgressHelperText />
|
|
9
|
+
</div>
|
|
10
|
+
);
|
|
11
|
+
expect(screen.getByTestId('container').firstChild).toBeVisible();
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
test('Renders children', () => {
|
|
15
|
+
render(<ProgressHelperText>Test</ProgressHelperText>);
|
|
16
|
+
|
|
17
|
+
expect(screen.getByText('Test')).toBeVisible();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
test('Renders with class pf-c-progress__helper-text on the div containing the helper text component', () => {
|
|
21
|
+
render(<ProgressHelperText>Test</ProgressHelperText>);
|
|
22
|
+
|
|
23
|
+
expect(screen.getByText('Test')).toHaveClass('pf-c-progress__helper-text');
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('Renders with inherited element props spread to the component', () => {
|
|
27
|
+
render(<ProgressHelperText aria-label="Test label">Test</ProgressHelperText>);
|
|
28
|
+
|
|
29
|
+
expect(screen.getByText('Test')).toHaveAccessibleName('Test label');
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test('Matches the snapshot', () => {
|
|
33
|
+
const { asFragment } = render(<ProgressHelperText>test</ProgressHelperText>);
|
|
34
|
+
expect(asFragment()).toMatchSnapshot();
|
|
35
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Progress, ProgressProps, HelperText, HelperTextItem, Radio } from '@patternfly/react-core';
|
|
3
|
+
|
|
4
|
+
export const ProgressHelperText: React.FunctionComponent = () => {
|
|
5
|
+
type ProgressVariant = ProgressProps['variant'];
|
|
6
|
+
|
|
7
|
+
const [selectedVariant, setSelectedVariant] = React.useState<ProgressVariant>(undefined);
|
|
8
|
+
|
|
9
|
+
const progressVariants: ProgressVariant[] = [undefined, 'success', 'warning', 'danger'];
|
|
10
|
+
|
|
11
|
+
const capitalize = (input: string) => input[0].toUpperCase() + input.substring(1);
|
|
12
|
+
const formatVariantName = (variant: ProgressVariant) => (variant ? capitalize(variant) : 'Default');
|
|
13
|
+
|
|
14
|
+
const variantOptions = progressVariants.map(variant => (
|
|
15
|
+
<Radio
|
|
16
|
+
id={`progress-helper-text-${variant}-selector`}
|
|
17
|
+
label={`${formatVariantName(variant)} variant`}
|
|
18
|
+
isChecked={variant === selectedVariant}
|
|
19
|
+
onChange={() => setSelectedVariant(variant)}
|
|
20
|
+
key={formatVariantName(variant)}
|
|
21
|
+
name="Progress variant options"
|
|
22
|
+
/>
|
|
23
|
+
));
|
|
24
|
+
|
|
25
|
+
const helperTextVariant = selectedVariant === 'danger' ? 'error' : selectedVariant;
|
|
26
|
+
|
|
27
|
+
const helperText = (
|
|
28
|
+
<HelperText>
|
|
29
|
+
<HelperTextItem variant={helperTextVariant}>
|
|
30
|
+
{`${formatVariantName(selectedVariant)} variant is being displayed`}
|
|
31
|
+
</HelperTextItem>
|
|
32
|
+
</HelperText>
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<>
|
|
37
|
+
{variantOptions}
|
|
38
|
+
<br />
|
|
39
|
+
<Progress value={33} title="Title" helperText={helperText} variant={selectedVariant} />
|
|
40
|
+
</>
|
|
41
|
+
);
|
|
42
|
+
};
|
|
@@ -119,6 +119,8 @@ export interface SearchInputProps extends Omit<React.HTMLProps<HTMLDivElement>,
|
|
|
119
119
|
previousNavigationButtonAriaLabel?: string;
|
|
120
120
|
/** @beta Opt-in for updated popper that does not use findDOMNode. */
|
|
121
121
|
removeFindDomNode?: boolean;
|
|
122
|
+
/** z-index of the advanced search form when appendTo is not inline. */
|
|
123
|
+
zIndex?: number;
|
|
122
124
|
/** Label for the button which resets the advanced search form and clears the search input. */
|
|
123
125
|
resetButtonLabel?: string;
|
|
124
126
|
/** The number of search results returned. Either a total number of results,
|
|
@@ -160,6 +162,7 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
160
162
|
isDisabled = false,
|
|
161
163
|
appendTo,
|
|
162
164
|
removeFindDomNode = false,
|
|
165
|
+
zIndex = 9999,
|
|
163
166
|
type = 'text',
|
|
164
167
|
...props
|
|
165
168
|
}: SearchInputProps) => {
|
|
@@ -416,6 +419,7 @@ const SearchInputBase: React.FunctionComponent<SearchInputProps> = ({
|
|
|
416
419
|
enableFlip={true}
|
|
417
420
|
appendTo={() => appendTo || searchInputRef.current}
|
|
418
421
|
removeFindDomNode={removeFindDomNode}
|
|
422
|
+
zIndex={zIndex}
|
|
419
423
|
/>
|
|
420
424
|
</div>
|
|
421
425
|
);
|
|
@@ -186,6 +186,8 @@ export interface SelectProps
|
|
|
186
186
|
isFlipEnabled?: boolean;
|
|
187
187
|
/** @beta Opt-in for updated popper that does not use findDOMNode. */
|
|
188
188
|
removeFindDomNode?: boolean;
|
|
189
|
+
/** z-index of the select menu when menuAppendTo is not inline. */
|
|
190
|
+
zIndex?: number;
|
|
189
191
|
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
190
192
|
ouiaId?: number | string;
|
|
191
193
|
/** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
|
|
@@ -267,7 +269,8 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
267
269
|
isCreateSelectOptionObject: false,
|
|
268
270
|
shouldResetOnSelect: true,
|
|
269
271
|
isFlipEnabled: true,
|
|
270
|
-
removeFindDomNode: false
|
|
272
|
+
removeFindDomNode: false,
|
|
273
|
+
zIndex: 9999
|
|
271
274
|
};
|
|
272
275
|
|
|
273
276
|
state: SelectState = {
|
|
@@ -1034,6 +1037,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1034
1037
|
shouldResetOnSelect,
|
|
1035
1038
|
isFlipEnabled,
|
|
1036
1039
|
removeFindDomNode,
|
|
1040
|
+
zIndex,
|
|
1037
1041
|
...props
|
|
1038
1042
|
} = this.props;
|
|
1039
1043
|
const {
|
|
@@ -1478,6 +1482,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1478
1482
|
appendTo={menuAppendTo === 'parent' ? getParentElement() : menuAppendTo}
|
|
1479
1483
|
isVisible={isOpen}
|
|
1480
1484
|
removeFindDomNode={removeFindDomNode}
|
|
1485
|
+
zIndex={zIndex}
|
|
1481
1486
|
/>
|
|
1482
1487
|
)}
|
|
1483
1488
|
</SelectContext.Provider>
|
|
@@ -21,6 +21,8 @@ export interface OverflowTabProps extends React.HTMLProps<HTMLLIElement> {
|
|
|
21
21
|
toggleAriaLabel?: string;
|
|
22
22
|
/** @beta Opt-in for updated popper that does not use findDOMNode. */
|
|
23
23
|
removeFindDomNode?: boolean;
|
|
24
|
+
/** z-index of the overflow tab */
|
|
25
|
+
zIndex?: number;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
|
|
@@ -30,6 +32,7 @@ export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
|
|
|
30
32
|
defaultTitleText = 'More',
|
|
31
33
|
toggleAriaLabel,
|
|
32
34
|
removeFindDomNode = false,
|
|
35
|
+
zIndex = 9999,
|
|
33
36
|
...props
|
|
34
37
|
}: OverflowTabProps) => {
|
|
35
38
|
const menuRef = React.useRef<HTMLDivElement>();
|
|
@@ -139,6 +142,7 @@ export const OverflowTab: React.FunctionComponent<OverflowTabProps> = ({
|
|
|
139
142
|
popperMatchesTriggerWidth={false}
|
|
140
143
|
appendTo={overflowLIRef.current}
|
|
141
144
|
removeFindDomNode={removeFindDomNode}
|
|
145
|
+
zIndex={zIndex}
|
|
142
146
|
/>
|
|
143
147
|
);
|
|
144
148
|
};
|
|
@@ -73,6 +73,8 @@ export interface TimePickerProps
|
|
|
73
73
|
setIsOpen?: (isOpen?: boolean) => void;
|
|
74
74
|
/** @beta Opt-in for updated popper that does not use findDOMNode. */
|
|
75
75
|
removeFindDomNode?: boolean;
|
|
76
|
+
/** z-index of the time picker */
|
|
77
|
+
zIndex?: number;
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
interface TimePickerState {
|
|
@@ -111,7 +113,8 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
111
113
|
maxTime: '',
|
|
112
114
|
isOpen: false,
|
|
113
115
|
setIsOpen: () => {},
|
|
114
|
-
removeFindDomNode: false
|
|
116
|
+
removeFindDomNode: false,
|
|
117
|
+
zIndex: 9999
|
|
115
118
|
};
|
|
116
119
|
|
|
117
120
|
constructor(props: TimePickerProps) {
|
|
@@ -461,6 +464,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
461
464
|
includeSeconds,
|
|
462
465
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
463
466
|
removeFindDomNode,
|
|
467
|
+
zIndex,
|
|
464
468
|
...props
|
|
465
469
|
} = this.props;
|
|
466
470
|
const { timeState, isTimeOptionsOpen, isInvalid, minTimeState, maxTimeState } = this.state;
|
|
@@ -535,6 +539,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
535
539
|
popper={menuContainer}
|
|
536
540
|
isVisible={isTimeOptionsOpen}
|
|
537
541
|
removeFindDomNode={removeFindDomNode}
|
|
542
|
+
zIndex={zIndex}
|
|
538
543
|
/>
|
|
539
544
|
</div>
|
|
540
545
|
</div>
|
|
@@ -30,6 +30,8 @@ export interface DropdownProps extends MenuProps, OUIAProps {
|
|
|
30
30
|
ouiaId?: number | string;
|
|
31
31
|
/** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
|
|
32
32
|
ouiaSafe?: boolean;
|
|
33
|
+
/** z-index of the dropdown menu */
|
|
34
|
+
zIndex?: number;
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
const DropdownBase: React.FunctionComponent<DropdownProps> = ({
|
|
@@ -45,6 +47,7 @@ const DropdownBase: React.FunctionComponent<DropdownProps> = ({
|
|
|
45
47
|
innerRef,
|
|
46
48
|
ouiaId,
|
|
47
49
|
ouiaSafe = true,
|
|
50
|
+
zIndex = 9999,
|
|
48
51
|
...props
|
|
49
52
|
}: DropdownProps) => {
|
|
50
53
|
const localMenuRef = React.useRef<HTMLDivElement>();
|
|
@@ -119,6 +122,7 @@ const DropdownBase: React.FunctionComponent<DropdownProps> = ({
|
|
|
119
122
|
popper={menu}
|
|
120
123
|
appendTo={containerRef.current || undefined}
|
|
121
124
|
isVisible={isOpen}
|
|
125
|
+
zIndex={zIndex}
|
|
122
126
|
/>
|
|
123
127
|
</div>
|
|
124
128
|
);
|
|
@@ -26,6 +26,8 @@ export interface SelectProps extends MenuProps, OUIAProps {
|
|
|
26
26
|
minWidth?: string;
|
|
27
27
|
/** @hide Forwarded ref */
|
|
28
28
|
innerRef?: React.Ref<HTMLDivElement>;
|
|
29
|
+
/** z-index of the select menu */
|
|
30
|
+
zIndex?: number;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
const SelectBase: React.FunctionComponent<SelectProps & OUIAProps> = ({
|
|
@@ -39,6 +41,7 @@ const SelectBase: React.FunctionComponent<SelectProps & OUIAProps> = ({
|
|
|
39
41
|
isPlain,
|
|
40
42
|
minWidth,
|
|
41
43
|
innerRef,
|
|
44
|
+
zIndex = 9999,
|
|
42
45
|
...props
|
|
43
46
|
}: SelectProps & OUIAProps) => {
|
|
44
47
|
const localMenuRef = React.useRef<HTMLDivElement>();
|
|
@@ -117,6 +120,7 @@ const SelectBase: React.FunctionComponent<SelectProps & OUIAProps> = ({
|
|
|
117
120
|
popper={menu}
|
|
118
121
|
appendTo={containerRef.current || undefined}
|
|
119
122
|
isVisible={isOpen}
|
|
123
|
+
zIndex={zIndex}
|
|
120
124
|
/>
|
|
121
125
|
</div>
|
|
122
126
|
);
|