@patternfly/react-core 5.1.1-prerelease.12 → 5.1.1-prerelease.13
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 +10 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/Chip/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/DragDrop/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/Text/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/Tile/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
- package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
- package/dist/dynamic/deprecated/components/Select/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/favorites/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/next/components/package.json +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyExpanded.js +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyExpanded.js.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.d.ts.map +1 -1
- package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js +5 -2
- package/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
- package/dist/esm/components/TextInput/TextInput.d.ts +3 -1
- package/dist/esm/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/esm/components/TextInput/TextInput.js +8 -7
- package/dist/esm/components/TextInput/TextInput.js.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyExpanded.js +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyExpanded.js.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.d.ts.map +1 -1
- package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js +5 -2
- package/dist/js/components/ClipboardCopy/ClipboardCopyToggle.js.map +1 -1
- package/dist/js/components/TextInput/TextInput.d.ts +3 -1
- package/dist/js/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/js/components/TextInput/TextInput.js +8 -7
- package/dist/js/components/TextInput/TextInput.js.map +1 -1
- package/dist/umd/react-core.min.js +1 -1
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +2 -2
- package/src/components/Checkbox/examples/Checkbox.md +8 -2
- package/src/components/Checkbox/examples/CheckboxControlled.tsx +18 -16
- package/src/components/ClipboardCopy/ClipboardCopy.tsx +1 -0
- package/src/components/ClipboardCopy/ClipboardCopyExpanded.tsx +1 -1
- package/src/components/ClipboardCopy/ClipboardCopyToggle.tsx +5 -2
- package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyExpanded.test.tsx.snap +3 -1
- package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyToggle.test.tsx.snap +16 -12
- package/src/components/TextInput/TextInput.tsx +11 -7
- package/src/components/TextInput/__tests__/TextInput.test.tsx +16 -1
- package/src/components/TextInput/__tests__/__snapshots__/TextInput.test.tsx.snap +2 -1
- package/src/components/TextInput/examples/TextInput.md +2 -2
- package/src/components/TextInput/examples/{TextInputLeftTruncated.tsx → TextInputStartTruncated.tsx} +3 -3
- package/src/demos/DataListDemo.md +7 -4
- package/src/components/Checkbox/examples/checkbox.css +0 -3
package/helpers/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"5.1.1-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"5.1.1-prerelease.12","private":true}
|
package/layouts/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"5.1.1-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"5.1.1-prerelease.12","private":true}
|
package/next/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"5.1.1-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"5.1.1-prerelease.12","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "5.1.1-prerelease.
|
|
3
|
+
"version": "5.1.1-prerelease.13",
|
|
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": "^17 || ^18",
|
|
71
71
|
"react-dom": "^17 || ^18"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "ff467eef5db530f0245ba29ca01db1f4a239f274"
|
|
74
74
|
}
|
|
@@ -6,46 +6,52 @@ cssPrefix: pf-v5-c-check
|
|
|
6
6
|
propComponents: ['Checkbox']
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
import './checkbox.css';
|
|
10
|
-
|
|
11
9
|
## Examples
|
|
12
10
|
|
|
13
11
|
### Controlled
|
|
14
12
|
|
|
15
13
|
```ts file='./CheckboxControlled.tsx'
|
|
14
|
+
|
|
16
15
|
```
|
|
17
16
|
|
|
18
17
|
### Uncontrolled
|
|
19
18
|
|
|
20
19
|
```ts file='./CheckboxUncontrolled.tsx'
|
|
20
|
+
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
### Disabled
|
|
24
24
|
|
|
25
25
|
```ts file='./CheckboxDisabled.tsx'
|
|
26
|
+
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
### Checkbox with description
|
|
29
30
|
|
|
30
31
|
```ts file='./CheckboxWithDescription.tsx'
|
|
32
|
+
|
|
31
33
|
```
|
|
32
34
|
|
|
33
35
|
### Checkbox with body
|
|
34
36
|
|
|
35
37
|
```ts file='./CheckboxWithBody.tsx'
|
|
38
|
+
|
|
36
39
|
```
|
|
37
40
|
|
|
38
41
|
### Checkbox with description and body
|
|
39
42
|
|
|
40
43
|
```ts file='./CheckboxWithDescriptionBody.tsx'
|
|
44
|
+
|
|
41
45
|
```
|
|
42
46
|
|
|
43
47
|
### Standalone input
|
|
44
48
|
|
|
45
49
|
```ts file='./CheckboxStandaloneInput.tsx'
|
|
50
|
+
|
|
46
51
|
```
|
|
47
52
|
|
|
48
53
|
### Required input
|
|
49
54
|
|
|
50
55
|
```ts file='./CheckboxRequired.tsx'
|
|
56
|
+
|
|
51
57
|
```
|
|
@@ -49,22 +49,24 @@ export const CheckboxControlled: React.FunctionComponent = () => {
|
|
|
49
49
|
onChange={handleChange}
|
|
50
50
|
id="controlled-check-1"
|
|
51
51
|
name="check1"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
52
|
+
body={
|
|
53
|
+
<>
|
|
54
|
+
<Checkbox
|
|
55
|
+
label="Child CheckBox 1"
|
|
56
|
+
isChecked={isChecked2}
|
|
57
|
+
onChange={handleChange}
|
|
58
|
+
id="controlled-check-2"
|
|
59
|
+
name="check2"
|
|
60
|
+
/>
|
|
61
|
+
<Checkbox
|
|
62
|
+
label="Child CheckBox 2"
|
|
63
|
+
isChecked={isChecked3}
|
|
64
|
+
onChange={handleChange}
|
|
65
|
+
id="controlled-check-3"
|
|
66
|
+
name="check3"
|
|
67
|
+
/>
|
|
68
|
+
</>
|
|
69
|
+
}
|
|
68
70
|
/>
|
|
69
71
|
<Checkbox
|
|
70
72
|
label="Controlled CheckBox"
|
|
@@ -242,6 +242,7 @@ class ClipboardCopy extends React.Component<ClipboardCopyProps, ClipboardCopySta
|
|
|
242
242
|
value={this.state.text as string | number}
|
|
243
243
|
id={`text-input-${id}`}
|
|
244
244
|
aria-label={textAriaLabel}
|
|
245
|
+
{...(isCode && { dir: 'ltr' })}
|
|
245
246
|
/>
|
|
246
247
|
<ClipboardCopyButton
|
|
247
248
|
exitDelay={exitDelay}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import styles from '@patternfly/react-styles/css/components/ClipboardCopy/clipboard-copy';
|
|
3
|
+
import { css } from '@patternfly/react-styles';
|
|
2
4
|
import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
|
|
3
|
-
import AngleDownIcon from '@patternfly/react-icons/dist/esm/icons/angle-down-icon';
|
|
4
5
|
import { Button } from '../Button';
|
|
5
6
|
|
|
6
7
|
export interface ClipboardCopyToggleProps
|
|
@@ -31,7 +32,9 @@ export const ClipboardCopyToggle: React.FunctionComponent<ClipboardCopyTogglePro
|
|
|
31
32
|
aria-expanded={isExpanded}
|
|
32
33
|
{...props}
|
|
33
34
|
>
|
|
34
|
-
|
|
35
|
+
<div className={css(styles.clipboardCopyToggleIcon)}>
|
|
36
|
+
<AngleRightIcon aria-hidden="true" />
|
|
37
|
+
</div>
|
|
35
38
|
</Button>
|
|
36
39
|
);
|
|
37
40
|
ClipboardCopyToggle.displayName = 'ClipboardCopyToggle';
|
package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopyToggle.test.tsx.snap
CHANGED
|
@@ -15,19 +15,23 @@ exports[`ClipboardCopyToggle toggle button render 1`] = `
|
|
|
15
15
|
id="my-id"
|
|
16
16
|
type="button"
|
|
17
17
|
>
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
class="pf-v5-svg"
|
|
21
|
-
fill="currentColor"
|
|
22
|
-
height="1em"
|
|
23
|
-
role="img"
|
|
24
|
-
viewBox="0 0 256 512"
|
|
25
|
-
width="1em"
|
|
18
|
+
<div
|
|
19
|
+
class="pf-v5-c-clipboard-copy__toggle-icon"
|
|
26
20
|
>
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
21
|
+
<svg
|
|
22
|
+
aria-hidden="true"
|
|
23
|
+
class="pf-v5-svg"
|
|
24
|
+
fill="currentColor"
|
|
25
|
+
height="1em"
|
|
26
|
+
role="img"
|
|
27
|
+
viewBox="0 0 256 512"
|
|
28
|
+
width="1em"
|
|
29
|
+
>
|
|
30
|
+
<path
|
|
31
|
+
d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"
|
|
32
|
+
/>
|
|
33
|
+
</svg>
|
|
34
|
+
</div>
|
|
31
35
|
</button>
|
|
32
36
|
</DocumentFragment>
|
|
33
37
|
`;
|
|
@@ -67,8 +67,10 @@ export interface TextInputProps
|
|
|
67
67
|
'aria-label'?: string;
|
|
68
68
|
/** @hide A reference object to attach to the text input box. */
|
|
69
69
|
innerRef?: React.RefObject<any>;
|
|
70
|
-
/** Trim text
|
|
70
|
+
/** @deprecated Use isStartTruncated instead. Trim text at start */
|
|
71
71
|
isLeftTruncated?: boolean;
|
|
72
|
+
/** Trim text at start */
|
|
73
|
+
isStartTruncated?: boolean;
|
|
72
74
|
/** Callback function when text input is focused */
|
|
73
75
|
onFocus?: (event?: any) => void;
|
|
74
76
|
/** Callback function when text input is blurred (focus leaves) */
|
|
@@ -96,6 +98,7 @@ export class TextInputBase extends React.Component<TextInputProps, TextInputStat
|
|
|
96
98
|
isExpanded: false,
|
|
97
99
|
type: TextInputTypes.text,
|
|
98
100
|
isLeftTruncated: false,
|
|
101
|
+
isStartTruncated: false,
|
|
99
102
|
onChange: (): any => undefined,
|
|
100
103
|
ouiaSafe: true
|
|
101
104
|
};
|
|
@@ -120,7 +123,7 @@ export class TextInputBase extends React.Component<TextInputProps, TextInputStat
|
|
|
120
123
|
};
|
|
121
124
|
|
|
122
125
|
componentDidMount() {
|
|
123
|
-
if (this.props.isLeftTruncated) {
|
|
126
|
+
if (this.props.isLeftTruncated || this.props.isStartTruncated) {
|
|
124
127
|
const inputRef = this.props.innerRef || this.inputRef;
|
|
125
128
|
this.observer = getResizeObserver(inputRef.current, this.handleResize, true);
|
|
126
129
|
this.handleResize();
|
|
@@ -128,7 +131,7 @@ export class TextInputBase extends React.Component<TextInputProps, TextInputStat
|
|
|
128
131
|
}
|
|
129
132
|
|
|
130
133
|
componentWillUnmount() {
|
|
131
|
-
if (this.props.isLeftTruncated) {
|
|
134
|
+
if (this.props.isLeftTruncated || this.props.isStartTruncated) {
|
|
132
135
|
this.observer();
|
|
133
136
|
}
|
|
134
137
|
}
|
|
@@ -149,16 +152,16 @@ export class TextInputBase extends React.Component<TextInputProps, TextInputStat
|
|
|
149
152
|
};
|
|
150
153
|
|
|
151
154
|
onFocus = (event?: any) => {
|
|
152
|
-
const { isLeftTruncated, onFocus } = this.props;
|
|
153
|
-
if (isLeftTruncated) {
|
|
155
|
+
const { isLeftTruncated, isStartTruncated, onFocus } = this.props;
|
|
156
|
+
if (isLeftTruncated || isStartTruncated) {
|
|
154
157
|
this.restoreText();
|
|
155
158
|
}
|
|
156
159
|
onFocus && onFocus(event);
|
|
157
160
|
};
|
|
158
161
|
|
|
159
162
|
onBlur = (event?: any) => {
|
|
160
|
-
const { isLeftTruncated, onBlur } = this.props;
|
|
161
|
-
if (isLeftTruncated) {
|
|
163
|
+
const { isLeftTruncated, isStartTruncated, onBlur } = this.props;
|
|
164
|
+
if (isLeftTruncated || isStartTruncated) {
|
|
162
165
|
this.handleResize();
|
|
163
166
|
}
|
|
164
167
|
onBlur && onBlur(event);
|
|
@@ -177,6 +180,7 @@ export class TextInputBase extends React.Component<TextInputProps, TextInputStat
|
|
|
177
180
|
onFocus,
|
|
178
181
|
onBlur,
|
|
179
182
|
isLeftTruncated,
|
|
183
|
+
isStartTruncated,
|
|
180
184
|
isExpanded,
|
|
181
185
|
readOnly,
|
|
182
186
|
readOnlyVariant,
|
|
@@ -5,6 +5,7 @@ import userEvent from '@testing-library/user-event';
|
|
|
5
5
|
|
|
6
6
|
import { TextInput, TextInputBase } from '../TextInput';
|
|
7
7
|
import { ValidatedOptions } from '../../../helpers/constants';
|
|
8
|
+
import * as ReactCoreUtils from '@patternfly/react-core/src/helpers/util';
|
|
8
9
|
|
|
9
10
|
const props = {
|
|
10
11
|
onChange: jest.fn(),
|
|
@@ -32,7 +33,7 @@ describe('TextInput', () => {
|
|
|
32
33
|
});
|
|
33
34
|
|
|
34
35
|
test('read only text input using isReadOnly', () => {
|
|
35
|
-
const { asFragment } = render(<TextInput
|
|
36
|
+
const { asFragment } = render(<TextInput readOnlyVariant="default" value="read only" aria-label="read only text input" />);
|
|
36
37
|
expect(asFragment()).toMatchSnapshot();
|
|
37
38
|
});
|
|
38
39
|
|
|
@@ -109,4 +110,18 @@ describe('TextInput', () => {
|
|
|
109
110
|
|
|
110
111
|
expect(myMock).not.toHaveBeenCalled();
|
|
111
112
|
});
|
|
113
|
+
|
|
114
|
+
test('trimLeft is called when isStartTruncated is true', async () => {
|
|
115
|
+
const trimLeftFn = jest.spyOn(ReactCoreUtils, 'trimLeft').mockImplementation();
|
|
116
|
+
|
|
117
|
+
render(<TextInput isStartTruncated aria-label="start truncated text input" />);
|
|
118
|
+
expect(trimLeftFn).toHaveBeenCalled();
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
test('trimLeft is called when isLeftTruncated is true', async () => {
|
|
122
|
+
const trimLeftFn = jest.spyOn(ReactCoreUtils, 'trimLeft').mockImplementation();
|
|
123
|
+
|
|
124
|
+
render(<TextInput isLeftTruncated aria-label="start truncated text input" />);
|
|
125
|
+
expect(trimLeftFn).toHaveBeenCalled();
|
|
126
|
+
});
|
|
112
127
|
});
|
|
@@ -99,7 +99,7 @@ exports[`TextInput plain read only text input 1`] = `
|
|
|
99
99
|
exports[`TextInput read only text input using isReadOnly 1`] = `
|
|
100
100
|
<DocumentFragment>
|
|
101
101
|
<span
|
|
102
|
-
class="pf-v5-c-form-control"
|
|
102
|
+
class="pf-v5-c-form-control pf-m-readonly"
|
|
103
103
|
>
|
|
104
104
|
<input
|
|
105
105
|
aria-invalid="false"
|
|
@@ -107,6 +107,7 @@ exports[`TextInput read only text input using isReadOnly 1`] = `
|
|
|
107
107
|
data-ouia-component-id="OUIA-Generated-TextInputBase-4"
|
|
108
108
|
data-ouia-component-type="PF5/TextInput"
|
|
109
109
|
data-ouia-safe="true"
|
|
110
|
+
readonly=""
|
|
110
111
|
type="text"
|
|
111
112
|
value="read only"
|
|
112
113
|
/>
|
package/src/components/TextInput/examples/{TextInputLeftTruncated.tsx → TextInputStartTruncated.tsx}
RENAMED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { TextInput } from '@patternfly/react-core';
|
|
3
3
|
|
|
4
|
-
export const
|
|
4
|
+
export const StartTruncatedTextInput: React.FunctionComponent = () => {
|
|
5
5
|
const [value, setValue] = React.useState(
|
|
6
6
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
|
|
7
7
|
);
|
|
8
8
|
return (
|
|
9
9
|
<TextInput
|
|
10
|
-
|
|
10
|
+
isStartTruncated
|
|
11
11
|
value={value}
|
|
12
12
|
type="text"
|
|
13
13
|
onChange={(_event, value) => setValue(value)}
|
|
14
|
-
aria-label="
|
|
14
|
+
aria-label="start-truncated text input example"
|
|
15
15
|
/>
|
|
16
16
|
);
|
|
17
17
|
};
|
|
@@ -35,7 +35,8 @@ import {
|
|
|
35
35
|
ToolbarExpandIconWrapper,
|
|
36
36
|
ToolbarContent,
|
|
37
37
|
SearchInput,
|
|
38
|
-
Tooltip
|
|
38
|
+
Tooltip,
|
|
39
|
+
Icon
|
|
39
40
|
} from '@patternfly/react-core';
|
|
40
41
|
import CodeBranchIcon from '@patternfly/react-icons/dist/esm/icons/code-branch-icon';
|
|
41
42
|
import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
|
|
@@ -123,9 +124,11 @@ class ExpandableDataList extends React.Component {
|
|
|
123
124
|
variant="plain"
|
|
124
125
|
aria-label={this.state.allExpanded ? 'Collapse all rows' : 'Expand all rows'}
|
|
125
126
|
>
|
|
126
|
-
<
|
|
127
|
-
<
|
|
128
|
-
|
|
127
|
+
<Icon shouldMirrorRTL>
|
|
128
|
+
<ToolbarExpandIconWrapper>
|
|
129
|
+
<AngleRightIcon />
|
|
130
|
+
</ToolbarExpandIconWrapper>
|
|
131
|
+
</Icon>
|
|
129
132
|
</Button>
|
|
130
133
|
</Tooltip>
|
|
131
134
|
</ToolbarItem>
|